@Nullable public static File resolveDrawable(@NotNull RenderResources resources,@Nullable ResourceValue drawable,@NotNull Project project){
  if (drawable != null) {
    drawable=resources.resolveResValue(drawable);
  }
  if (drawable == null) {
    return null;
  }
  String result=drawable.getValue();
  StateList stateList=resolveStateList(resources,drawable,project);
  if (stateList != null) {
    List<StateListState> states=stateList.getStates();
    if (!states.isEmpty()) {
      StateListState state=states.get(states.size() - 1);
      result=state.getValue();
    }
  }
  if (result == null) {
    return null;
  }
  final File file=new File(result);
  return file.isFile() ? file : null;
}

@ Nullable public static File resolveDrawable ( @ NotNull RenderResources resources , @ Nullable ResourceValue drawable , @ NotNull Project project ) { if ( drawable != null ) { drawable = resources . resolveResValue ( drawable ) ; } if ( drawable == null ) { return null ; } String result = drawable . getValue ( ) ; StateList stateList = resolveStateList ( resources , drawable , project ) ; if ( stateList != null ) { List < StateListState > states = stateList . getStates ( ) ; if ( ! states . isEmpty ( ) ) { StateListState state = states . get ( states . size ( ) - 1 ) ; result = state . getValue ( ) ; } } if ( result == null ) { return null ; } final File file = new File ( result ) ; return file . isFile ( ) ? file : null ; }
tries to resolve the given resource value to an actual drawable bitmap file . for state lists it will pick the simplest / fallback drawable .
