@Nullable public static File resolveLayout(@NotNull RenderResources resources,@Nullable ResourceValue layout){
  if (layout != null) {
    layout=resources.resolveResValue(layout);
  }
  if (layout == null) {
    return null;
  }
  String value=layout.getValue();
  int depth=0;
  while (value != null && depth < MAX_RESOURCE_INDIRECTION) {
    if (DataBindingUtil.isBindingExpression(value)) {
      value=DataBindingUtil.getBindingExprDefault(value);
      if (value == null) {
        return null;
      }
    }
    if (value.startsWith(PREFIX_RESOURCE_REF)) {
      boolean isFramework=layout.isFramework();
      layout=resources.findResValue(value,isFramework);
      if (layout != null) {
        value=layout.getValue();
      }
 else {
        break;
      }
    }
 else {
      File file=new File(value);
      if (file.exists()) {
        return file;
      }
 else {
        return null;
      }
    }
    depth++;
  }
  return null;
}

@ Nullable public static File resolveLayout ( @ NotNull RenderResources resources , @ Nullable ResourceValue layout ) { if ( layout != null ) { layout = resources . resolveResValue ( layout ) ; } if ( layout == null ) { return null ; } String value = layout . getValue ( ) ; int depth = 0 ; while ( value != null && depth < MAX_RESOURCE_INDIRECTION ) { if ( DataBindingUtil . isBindingExpression ( value ) ) { value = DataBindingUtil . getBindingExprDefault ( value ) ; if ( value == null ) { return null ; } } if ( value . startsWith ( PREFIX_RESOURCE_REF ) ) { boolean isFramework = layout . isFramework ( ) ; layout = resources . findResValue ( value , isFramework ) ; if ( layout != null ) { value = layout . getValue ( ) ; } else { break ; } } else { File file = new File ( value ) ; if ( file . exists ( ) ) { return file ; } else { return null ; } } depth ++ ; } return null ; }
tries to resolve the given resource value to an actual layout file .
