@Override public void setTextLocales(@NonNull LocaleList locales) { // Do nothing. } }
/** * BindView annotated fields and methods in the specified {@code target} using the {@code source} * {@link Activity} as the view root. * * @param target Target class for view binding. * @param source Activity on which IDs will be looked up. */ @NonNull @UiThread public static Unbinder bind(@NonNull Object target, @NonNull Activity source) { View sourceView = source.getWindow().getDecorView(); return bind(target, sourceView); }
/** * BindView annotated fields and methods in the specified {@link Activity}. The current content * view is used as the view root. * * @param target Target activity for view binding. */ @NonNull @UiThread public static Unbinder bind(@NonNull Activity target) { View sourceView = target.getWindow().getDecorView(); return bind(target, sourceView); }
/** * BindView annotated fields and methods in the specified {@link Dialog}. The current content * view is used as the view root. * * @param target Target dialog for view binding. */ @NonNull @UiThread public static Unbinder bind(@NonNull Dialog target) { View sourceView = target.getWindow().getDecorView(); return bind(target, sourceView); }
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (requestCode == PERMISSION_STORAGE) { if (grantResults.length == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { saveToGallery(); } else { Toast.makeText(getApplicationContext(), "Saving FAILED!", Toast.LENGTH_SHORT) .show(); } } }
@Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { tf = Typeface.createFromAsset(context.getAssets(), "OpenSans-Regular.ttf"); return super.onCreateView(inflater, container, savedInstanceState); }
/** Set the {@code value} using the specified {@code setter} across the {@code list} of views. */ @UiThread public static <T extends View, V> void set(@NonNull List<T> list, @NonNull Setter<? super T, V> setter, @Nullable V value) { for (int i = 0, count = list.size(); i < count; i++) { setter.set(list.get(i), value, i); } }
/** * Apply the specified {@code value} across the {@code array} of views using the {@code property}. */ @UiThread public static <T extends View, V> void set(@NonNull T[] array, @NonNull Property<? super T, V> setter, @Nullable V value) { //noinspection ForLoopReplaceableByForEach for (int i = 0, count = array.length; i < count; i++) { setter.set(array[i], value); } }
/** Apply the specified {@code actions} across the {@code list} of views. */ @UiThread @SafeVarargs public static <T extends View> void run(@NonNull List<T> list, @NonNull Action<? super T>... actions) { for (int i = 0, count = list.size(); i < count; i++) { for (Action<? super T> action : actions) { action.apply(list.get(i), i); } } }
/** Apply the specified {@code actions} across the {@code array} of views. */ @UiThread @SafeVarargs public static <T extends View> void run(@NonNull T[] array, @NonNull Action<? super T>... actions) { for (int i = 0, count = array.length; i < count; i++) { for (Action<? super T> action : actions) { action.apply(array[i], i); } } }
/** * If the composition is larger than the canvas, we have to use a different method to scale it up. * See the comments in {@link #draw(Canvas)} for more info. */ private float getMaxScale(@NonNull Canvas canvas) { float maxScaleX = canvas.getWidth() / (float) composition.getBounds().width(); float maxScaleY = canvas.getHeight() / (float) composition.getBounds().height(); return Math.min(maxScaleX, maxScaleY); }
@Override public void invalidateDrawable(@NonNull Drawable dr) { if (getDrawable() == lottieDrawable) { // We always want to invalidate the root drawable so it redraws the whole drawable. // Eventually it would be great to be able to invalidate just the changed region. super.invalidateDrawable(lottieDrawable); } else { // Otherwise work as regular ImageView super.invalidateDrawable(dr); } }