CrackMe.apk
Download file
package androidx.core.view;
import android.animation.ValueAnimator;
import android.app.Activity;
import android.content.ClipData;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.util.SparseArray;
import android.view.ContentInfo;
import android.view.Display;
import android.view.KeyEvent;
import android.view.OnReceiveContentListener;
import android.view.PointerIcon;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.WindowInsets;
import android.view.WindowInsetsController;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeProvider;
import androidx.collection.SimpleArrayMap;
import androidx.core.R;
import androidx.core.util.Preconditions;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.WindowInsetsAnimationCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.core.view.accessibility.AccessibilityNodeProviderCompat;
import androidx.core.view.accessibility.AccessibilityViewCommand;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.WeakHashMap;
import java.util.concurrent.atomic.AtomicInteger;
public class ViewCompat {
private static final int[] ACCESSIBILITY_ACTIONS_RESOURCE_IDS = {R.id.accessibility_custom_action_0, R.id.accessibility_custom_action_1, R.id.accessibility_custom_action_2, R.id.accessibility_custom_action_3, R.id.accessibility_custom_action_4, R.id.accessibility_custom_action_5, R.id.accessibility_custom_action_6, R.id.accessibility_custom_action_7, R.id.accessibility_custom_action_8, R.id.accessibility_custom_action_9, R.id.accessibility_custom_action_10, R.id.accessibility_custom_action_11, R.id.accessibility_custom_action_12, R.id.accessibility_custom_action_13, R.id.accessibility_custom_action_14, R.id.accessibility_custom_action_15, R.id.accessibility_custom_action_16, R.id.accessibility_custom_action_17, R.id.accessibility_custom_action_18, R.id.accessibility_custom_action_19, R.id.accessibility_custom_action_20, R.id.accessibility_custom_action_21, R.id.accessibility_custom_action_22, R.id.accessibility_custom_action_23, R.id.accessibility_custom_action_24, R.id.accessibility_custom_action_25, R.id.accessibility_custom_action_26, R.id.accessibility_custom_action_27, R.id.accessibility_custom_action_28, R.id.accessibility_custom_action_29, R.id.accessibility_custom_action_30, R.id.accessibility_custom_action_31};
public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE = 2;
public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0;
public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1;
public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO = 0;
public static final int IMPORTANT_FOR_ACCESSIBILITY_NO = 2;
public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS = 4;
public static final int IMPORTANT_FOR_ACCESSIBILITY_YES = 1;
@Deprecated
public static final int LAYER_TYPE_HARDWARE = 2;
@Deprecated
public static final int LAYER_TYPE_NONE = 0;
@Deprecated
public static final int LAYER_TYPE_SOFTWARE = 1;
public static final int LAYOUT_DIRECTION_INHERIT = 2;
public static final int LAYOUT_DIRECTION_LOCALE = 3;
public static final int LAYOUT_DIRECTION_LTR = 0;
public static final int LAYOUT_DIRECTION_RTL = 1;
@Deprecated
public static final int MEASURED_HEIGHT_STATE_SHIFT = 16;
@Deprecated
public static final int MEASURED_SIZE_MASK = 16777215;
@Deprecated
public static final int MEASURED_STATE_MASK = -16777216;
@Deprecated
public static final int MEASURED_STATE_TOO_SMALL = 16777216;
private static final OnReceiveContentViewBehavior NO_OP_ON_RECEIVE_CONTENT_VIEW_BEHAVIOR = ViewCompat$$ExternalSyntheticLambda0.INSTANCE;
@Deprecated
public static final int OVER_SCROLL_ALWAYS = 0;
@Deprecated
public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1;
@Deprecated
public static final int OVER_SCROLL_NEVER = 2;
public static final int SCROLL_AXIS_HORIZONTAL = 1;
public static final int SCROLL_AXIS_NONE = 0;
public static final int SCROLL_AXIS_VERTICAL = 2;
public static final int SCROLL_INDICATOR_BOTTOM = 2;
public static final int SCROLL_INDICATOR_END = 32;
public static final int SCROLL_INDICATOR_LEFT = 4;
public static final int SCROLL_INDICATOR_RIGHT = 8;
public static final int SCROLL_INDICATOR_START = 16;
public static final int SCROLL_INDICATOR_TOP = 1;
private static final String TAG = "ViewCompat";
public static final int TYPE_NON_TOUCH = 1;
public static final int TYPE_TOUCH = 0;
private static boolean sAccessibilityDelegateCheckFailed = false;
private static Field sAccessibilityDelegateField;
private static final AccessibilityPaneVisibilityManager sAccessibilityPaneVisibilityManager = new AccessibilityPaneVisibilityManager();
private static Method sChildrenDrawingOrderMethod;
private static Method sDispatchFinishTemporaryDetach;
private static Method sDispatchStartTemporaryDetach;
private static Field sMinHeightField;
private static boolean sMinHeightFieldFetched;
private static Field sMinWidthField;
private static boolean sMinWidthFieldFetched;
private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1);
private static boolean sTempDetachBound;
private static ThreadLocal<Rect> sThreadLocalRect;
private static WeakHashMap<View, String> sTransitionNameMap;
private static WeakHashMap<View, ViewPropertyAnimatorCompat> sViewPropertyAnimatorMap = null;
@Retention(RetentionPolicy.SOURCE)
public @interface FocusDirection {
}
@Retention(RetentionPolicy.SOURCE)
public @interface FocusRealDirection {
}
@Retention(RetentionPolicy.SOURCE)
public @interface FocusRelativeDirection {
}
@Retention(RetentionPolicy.SOURCE)
public @interface NestedScrollType {
}
public interface OnUnhandledKeyEventListenerCompat {
boolean onUnhandledKeyEvent(View view, KeyEvent keyEvent);
}
@Retention(RetentionPolicy.SOURCE)
public @interface ScrollAxis {
}
@Retention(RetentionPolicy.SOURCE)
public @interface ScrollIndicators {
}
static /* synthetic */ ContentInfoCompat lambda$static$0(ContentInfoCompat contentInfoCompat) {
return contentInfoCompat;
}
private static Rect getEmptyTempRect() {
if (sThreadLocalRect == null) {
sThreadLocalRect = new ThreadLocal<>();
}
Rect rect = sThreadLocalRect.get();
if (rect == null) {
rect = new Rect();
sThreadLocalRect.set(rect);
}
rect.setEmpty();
return rect;
}
public static void saveAttributeDataForStyleable(View view, Context context, int[] iArr, AttributeSet attributeSet, TypedArray typedArray, int i, int i2) {
if (Build.VERSION.SDK_INT >= 29) {
Api29Impl.saveAttributeDataForStyleable(view, context, iArr, attributeSet, typedArray, i, i2);
}
}
@Deprecated
public static boolean canScrollHorizontally(View view, int i) {
return view.canScrollHorizontally(i);
}
@Deprecated
public static boolean canScrollVertically(View view, int i) {
return view.canScrollVertically(i);
}
@Deprecated
public static int getOverScrollMode(View view) {
return view.getOverScrollMode();
}
@Deprecated
public static void setOverScrollMode(View view, int i) {
view.setOverScrollMode(i);
}
@Deprecated
public static void onPopulateAccessibilityEvent(View view, AccessibilityEvent accessibilityEvent) {
view.onPopulateAccessibilityEvent(accessibilityEvent);
}
@Deprecated
public static void onInitializeAccessibilityEvent(View view, AccessibilityEvent accessibilityEvent) {
view.onInitializeAccessibilityEvent(accessibilityEvent);
}
public static void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
view.onInitializeAccessibilityNodeInfo(accessibilityNodeInfoCompat.unwrap());
}
public static void setAccessibilityDelegate(View view, AccessibilityDelegateCompat accessibilityDelegateCompat) {
View.AccessibilityDelegate accessibilityDelegate;
if (accessibilityDelegateCompat == null && (getAccessibilityDelegateInternal(view) instanceof AccessibilityDelegateCompat.AccessibilityDelegateAdapter)) {
accessibilityDelegateCompat = new AccessibilityDelegateCompat();
}
if (accessibilityDelegateCompat == null) {
accessibilityDelegate = null;
} else {
accessibilityDelegate = accessibilityDelegateCompat.getBridge();
}
view.setAccessibilityDelegate(accessibilityDelegate);
}
public static void setAutofillHints(View view, String... strArr) {
if (Build.VERSION.SDK_INT >= 26) {
Api26Impl.setAutofillHints(view, strArr);
}
}
public static int getImportantForAutofill(View view) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.getImportantForAutofill(view);
}
return 0;
}
public static void setImportantForAutofill(View view, int i) {
if (Build.VERSION.SDK_INT >= 26) {
Api26Impl.setImportantForAutofill(view, i);
}
}
public static boolean isImportantForAutofill(View view) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.isImportantForAutofill(view);
}
return true;
}
public static boolean hasAccessibilityDelegate(View view) {
return getAccessibilityDelegateInternal(view) != null;
}
public static AccessibilityDelegateCompat getAccessibilityDelegate(View view) {
View.AccessibilityDelegate accessibilityDelegateInternal = getAccessibilityDelegateInternal(view);
if (accessibilityDelegateInternal == null) {
return null;
}
if (accessibilityDelegateInternal instanceof AccessibilityDelegateCompat.AccessibilityDelegateAdapter) {
return ((AccessibilityDelegateCompat.AccessibilityDelegateAdapter) accessibilityDelegateInternal).mCompat;
}
return new AccessibilityDelegateCompat(accessibilityDelegateInternal);
}
static void ensureAccessibilityDelegateCompat(View view) {
AccessibilityDelegateCompat accessibilityDelegate = getAccessibilityDelegate(view);
if (accessibilityDelegate == null) {
accessibilityDelegate = new AccessibilityDelegateCompat();
}
setAccessibilityDelegate(view, accessibilityDelegate);
}
private static View.AccessibilityDelegate getAccessibilityDelegateInternal(View view) {
if (Build.VERSION.SDK_INT >= 29) {
return Api29Impl.getAccessibilityDelegate(view);
}
return getAccessibilityDelegateThroughReflection(view);
}
private static View.AccessibilityDelegate getAccessibilityDelegateThroughReflection(View view) {
if (sAccessibilityDelegateCheckFailed) {
return null;
}
if (sAccessibilityDelegateField == null) {
try {
Field declaredField = View.class.getDeclaredField("mAccessibilityDelegate");
sAccessibilityDelegateField = declaredField;
declaredField.setAccessible(true);
} catch (Throwable unused) {
sAccessibilityDelegateCheckFailed = true;
return null;
}
}
try {
Object obj = sAccessibilityDelegateField.get(view);
if (obj instanceof View.AccessibilityDelegate) {
return (View.AccessibilityDelegate) obj;
}
return null;
} catch (Throwable unused2) {
sAccessibilityDelegateCheckFailed = true;
return null;
}
}
public static boolean hasTransientState(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.hasTransientState(view);
}
return false;
}
public static void setHasTransientState(View view, boolean z) {
if (Build.VERSION.SDK_INT >= 16) {
Api16Impl.setHasTransientState(view, z);
}
}
public static void postInvalidateOnAnimation(View view) {
if (Build.VERSION.SDK_INT >= 16) {
Api16Impl.postInvalidateOnAnimation(view);
} else {
view.postInvalidate();
}
}
public static void postInvalidateOnAnimation(View view, int i, int i2, int i3, int i4) {
if (Build.VERSION.SDK_INT >= 16) {
Api16Impl.postInvalidateOnAnimation(view, i, i2, i3, i4);
} else {
view.postInvalidate(i, i2, i3, i4);
}
}
public static void postOnAnimation(View view, Runnable runnable) {
if (Build.VERSION.SDK_INT >= 16) {
Api16Impl.postOnAnimation(view, runnable);
} else {
view.postDelayed(runnable, ValueAnimator.getFrameDelay());
}
}
public static void postOnAnimationDelayed(View view, Runnable runnable, long j) {
if (Build.VERSION.SDK_INT >= 16) {
Api16Impl.postOnAnimationDelayed(view, runnable, j);
} else {
view.postDelayed(runnable, ValueAnimator.getFrameDelay() + j);
}
}
public static int getImportantForAccessibility(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.getImportantForAccessibility(view);
}
return 0;
}
public static void setImportantForAccessibility(View view, int i) {
if (Build.VERSION.SDK_INT >= 19) {
Api16Impl.setImportantForAccessibility(view, i);
} else if (Build.VERSION.SDK_INT >= 16) {
if (i == 4) {
i = 2;
}
Api16Impl.setImportantForAccessibility(view, i);
}
}
public static boolean isImportantForAccessibility(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.isImportantForAccessibility(view);
}
return true;
}
public static boolean performAccessibilityAction(View view, int i, Bundle bundle) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.performAccessibilityAction(view, i, bundle);
}
return false;
}
public static int addAccessibilityAction(View view, CharSequence charSequence, AccessibilityViewCommand accessibilityViewCommand) {
int availableActionIdFromResources = getAvailableActionIdFromResources(view, charSequence);
if (availableActionIdFromResources != -1) {
addAccessibilityAction(view, new AccessibilityNodeInfoCompat.AccessibilityActionCompat(availableActionIdFromResources, charSequence, accessibilityViewCommand));
}
return availableActionIdFromResources;
}
private static int getAvailableActionIdFromResources(View view, CharSequence charSequence) {
List<AccessibilityNodeInfoCompat.AccessibilityActionCompat> actionList = getActionList(view);
for (int i = 0; i < actionList.size(); i++) {
if (TextUtils.equals(charSequence, actionList.get(i).getLabel())) {
return actionList.get(i).getId();
}
}
int i2 = 0;
int i3 = -1;
while (true) {
int[] iArr = ACCESSIBILITY_ACTIONS_RESOURCE_IDS;
if (i2 >= iArr.length || i3 != -1) {
return i3;
}
int i4 = iArr[i2];
boolean z = true;
for (int i5 = 0; i5 < actionList.size(); i5++) {
z &= actionList.get(i5).getId() != i4;
}
if (z) {
i3 = i4;
}
i2++;
}
return i3;
}
public static void replaceAccessibilityAction(View view, AccessibilityNodeInfoCompat.AccessibilityActionCompat accessibilityActionCompat, CharSequence charSequence, AccessibilityViewCommand accessibilityViewCommand) {
if (accessibilityViewCommand == null && charSequence == null) {
removeAccessibilityAction(view, accessibilityActionCompat.getId());
} else {
addAccessibilityAction(view, accessibilityActionCompat.createReplacementAction(charSequence, accessibilityViewCommand));
}
}
private static void addAccessibilityAction(View view, AccessibilityNodeInfoCompat.AccessibilityActionCompat accessibilityActionCompat) {
if (Build.VERSION.SDK_INT >= 21) {
ensureAccessibilityDelegateCompat(view);
removeActionWithId(accessibilityActionCompat.getId(), view);
getActionList(view).add(accessibilityActionCompat);
notifyViewAccessibilityStateChangedIfNeeded(view, 0);
}
}
public static void removeAccessibilityAction(View view, int i) {
if (Build.VERSION.SDK_INT >= 21) {
removeActionWithId(i, view);
notifyViewAccessibilityStateChangedIfNeeded(view, 0);
}
}
private static void removeActionWithId(int i, View view) {
List<AccessibilityNodeInfoCompat.AccessibilityActionCompat> actionList = getActionList(view);
for (int i2 = 0; i2 < actionList.size(); i2++) {
if (actionList.get(i2).getId() == i) {
actionList.remove(i2);
return;
}
}
}
private static List<AccessibilityNodeInfoCompat.AccessibilityActionCompat> getActionList(View view) {
ArrayList arrayList = (ArrayList) view.getTag(R.id.tag_accessibility_actions);
if (arrayList != null) {
return arrayList;
}
ArrayList arrayList2 = new ArrayList();
view.setTag(R.id.tag_accessibility_actions, arrayList2);
return arrayList2;
}
public static void setStateDescription(View view, CharSequence charSequence) {
if (Build.VERSION.SDK_INT >= 19) {
stateDescriptionProperty().set(view, charSequence);
}
}
public static CharSequence getStateDescription(View view) {
return stateDescriptionProperty().get(view);
}
public static void enableAccessibleClickableSpanSupport(View view) {
if (Build.VERSION.SDK_INT >= 19) {
ensureAccessibilityDelegateCompat(view);
}
}
public static AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View view) {
AccessibilityNodeProvider accessibilityNodeProvider;
if (Build.VERSION.SDK_INT < 16 || (accessibilityNodeProvider = Api16Impl.getAccessibilityNodeProvider(view)) == null) {
return null;
}
return new AccessibilityNodeProviderCompat(accessibilityNodeProvider);
}
@Deprecated
public static float getAlpha(View view) {
return view.getAlpha();
}
@Deprecated
public static void setLayerType(View view, int i, Paint paint) {
view.setLayerType(i, paint);
}
@Deprecated
public static int getLayerType(View view) {
return view.getLayerType();
}
public static int getLabelFor(View view) {
if (Build.VERSION.SDK_INT >= 17) {
return Api17Impl.getLabelFor(view);
}
return 0;
}
public static void setLabelFor(View view, int i) {
if (Build.VERSION.SDK_INT >= 17) {
Api17Impl.setLabelFor(view, i);
}
}
public static void setLayerPaint(View view, Paint paint) {
if (Build.VERSION.SDK_INT >= 17) {
Api17Impl.setLayerPaint(view, paint);
return;
}
view.setLayerType(view.getLayerType(), paint);
view.invalidate();
}
public static int getLayoutDirection(View view) {
if (Build.VERSION.SDK_INT >= 17) {
return Api17Impl.getLayoutDirection(view);
}
return 0;
}
public static void setLayoutDirection(View view, int i) {
if (Build.VERSION.SDK_INT >= 17) {
Api17Impl.setLayoutDirection(view, i);
}
}
public static ViewParent getParentForAccessibility(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.getParentForAccessibility(view);
}
return view.getParent();
}
public static <T extends View> T requireViewById(View view, int i) {
if (Build.VERSION.SDK_INT >= 28) {
return (View) Api28Impl.requireViewById(view, i);
}
T findViewById = view.findViewById(i);
if (findViewById != null) {
return findViewById;
}
throw new IllegalArgumentException("ID does not reference a View inside this View");
}
@Deprecated
public static boolean isOpaque(View view) {
return view.isOpaque();
}
@Deprecated
public static int resolveSizeAndState(int i, int i2, int i3) {
return View.resolveSizeAndState(i, i2, i3);
}
@Deprecated
public static int getMeasuredWidthAndState(View view) {
return view.getMeasuredWidthAndState();
}
@Deprecated
public static int getMeasuredHeightAndState(View view) {
return view.getMeasuredHeightAndState();
}
@Deprecated
public static int getMeasuredState(View view) {
return view.getMeasuredState();
}
@Deprecated
public static int combineMeasuredStates(int i, int i2) {
return View.combineMeasuredStates(i, i2);
}
public static int getAccessibilityLiveRegion(View view) {
if (Build.VERSION.SDK_INT >= 19) {
return Api19Impl.getAccessibilityLiveRegion(view);
}
return 0;
}
public static void setAccessibilityLiveRegion(View view, int i) {
if (Build.VERSION.SDK_INT >= 19) {
Api19Impl.setAccessibilityLiveRegion(view, i);
}
}
public static int getPaddingStart(View view) {
if (Build.VERSION.SDK_INT >= 17) {
return Api17Impl.getPaddingStart(view);
}
return view.getPaddingLeft();
}
public static int getPaddingEnd(View view) {
if (Build.VERSION.SDK_INT >= 17) {
return Api17Impl.getPaddingEnd(view);
}
return view.getPaddingRight();
}
public static void setPaddingRelative(View view, int i, int i2, int i3, int i4) {
if (Build.VERSION.SDK_INT >= 17) {
Api17Impl.setPaddingRelative(view, i, i2, i3, i4);
} else {
view.setPadding(i, i2, i3, i4);
}
}
private static void bindTempDetach() {
try {
sDispatchStartTemporaryDetach = View.class.getDeclaredMethod("dispatchStartTemporaryDetach", new Class[0]);
sDispatchFinishTemporaryDetach = View.class.getDeclaredMethod("dispatchFinishTemporaryDetach", new Class[0]);
} catch (NoSuchMethodException e) {
Log.e(TAG, "Couldn't find method", e);
}
sTempDetachBound = true;
}
public static void dispatchStartTemporaryDetach(View view) {
if (Build.VERSION.SDK_INT >= 24) {
Api24Impl.dispatchStartTemporaryDetach(view);
return;
}
if (!sTempDetachBound) {
bindTempDetach();
}
Method method = sDispatchStartTemporaryDetach;
if (method != null) {
try {
method.invoke(view, new Object[0]);
} catch (Exception e) {
Log.d(TAG, "Error calling dispatchStartTemporaryDetach", e);
}
} else {
view.onStartTemporaryDetach();
}
}
public static void dispatchFinishTemporaryDetach(View view) {
if (Build.VERSION.SDK_INT >= 24) {
Api24Impl.dispatchFinishTemporaryDetach(view);
return;
}
if (!sTempDetachBound) {
bindTempDetach();
}
Method method = sDispatchFinishTemporaryDetach;
if (method != null) {
try {
method.invoke(view, new Object[0]);
} catch (Exception e) {
Log.d(TAG, "Error calling dispatchFinishTemporaryDetach", e);
}
} else {
view.onFinishTemporaryDetach();
}
}
@Deprecated
public static float getTranslationX(View view) {
return view.getTranslationX();
}
@Deprecated
public static float getTranslationY(View view) {
return view.getTranslationY();
}
@Deprecated
public static Matrix getMatrix(View view) {
return view.getMatrix();
}
public static int getMinimumWidth(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.getMinimumWidth(view);
}
if (!sMinWidthFieldFetched) {
try {
Field declaredField = View.class.getDeclaredField("mMinWidth");
sMinWidthField = declaredField;
declaredField.setAccessible(true);
} catch (NoSuchFieldException unused) {
}
sMinWidthFieldFetched = true;
}
Field field = sMinWidthField;
if (field == null) {
return 0;
}
try {
return ((Integer) field.get(view)).intValue();
} catch (Exception unused2) {
return 0;
}
}
public static int getMinimumHeight(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.getMinimumHeight(view);
}
if (!sMinHeightFieldFetched) {
try {
Field declaredField = View.class.getDeclaredField("mMinHeight");
sMinHeightField = declaredField;
declaredField.setAccessible(true);
} catch (NoSuchFieldException unused) {
}
sMinHeightFieldFetched = true;
}
Field field = sMinHeightField;
if (field == null) {
return 0;
}
try {
return ((Integer) field.get(view)).intValue();
} catch (Exception unused2) {
return 0;
}
}
public static ViewPropertyAnimatorCompat animate(View view) {
if (sViewPropertyAnimatorMap == null) {
sViewPropertyAnimatorMap = new WeakHashMap<>();
}
ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = sViewPropertyAnimatorMap.get(view);
if (viewPropertyAnimatorCompat != null) {
return viewPropertyAnimatorCompat;
}
ViewPropertyAnimatorCompat viewPropertyAnimatorCompat2 = new ViewPropertyAnimatorCompat(view);
sViewPropertyAnimatorMap.put(view, viewPropertyAnimatorCompat2);
return viewPropertyAnimatorCompat2;
}
@Deprecated
public static void setTranslationX(View view, float f) {
view.setTranslationX(f);
}
@Deprecated
public static void setTranslationY(View view, float f) {
view.setTranslationY(f);
}
@Deprecated
public static void setAlpha(View view, float f) {
view.setAlpha(f);
}
@Deprecated
public static void setX(View view, float f) {
view.setX(f);
}
@Deprecated
public static void setY(View view, float f) {
view.setY(f);
}
@Deprecated
public static void setRotation(View view, float f) {
view.setRotation(f);
}
@Deprecated
public static void setRotationX(View view, float f) {
view.setRotationX(f);
}
@Deprecated
public static void setRotationY(View view, float f) {
view.setRotationY(f);
}
@Deprecated
public static void setScaleX(View view, float f) {
view.setScaleX(f);
}
@Deprecated
public static void setScaleY(View view, float f) {
view.setScaleY(f);
}
@Deprecated
public static float getPivotX(View view) {
return view.getPivotX();
}
@Deprecated
public static void setPivotX(View view, float f) {
view.setPivotX(f);
}
@Deprecated
public static float getPivotY(View view) {
return view.getPivotY();
}
@Deprecated
public static void setPivotY(View view, float f) {
view.setPivotY(f);
}
@Deprecated
public static float getRotation(View view) {
return view.getRotation();
}
@Deprecated
public static float getRotationX(View view) {
return view.getRotationX();
}
@Deprecated
public static float getRotationY(View view) {
return view.getRotationY();
}
@Deprecated
public static float getScaleX(View view) {
return view.getScaleX();
}
@Deprecated
public static float getScaleY(View view) {
return view.getScaleY();
}
@Deprecated
public static float getX(View view) {
return view.getX();
}
@Deprecated
public static float getY(View view) {
return view.getY();
}
public static void setElevation(View view, float f) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setElevation(view, f);
}
}
public static float getElevation(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.getElevation(view);
}
return 0.0f;
}
public static void setTranslationZ(View view, float f) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setTranslationZ(view, f);
}
}
public static float getTranslationZ(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.getTranslationZ(view);
}
return 0.0f;
}
public static void setTransitionName(View view, String str) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setTransitionName(view, str);
return;
}
if (sTransitionNameMap == null) {
sTransitionNameMap = new WeakHashMap<>();
}
sTransitionNameMap.put(view, str);
}
public static String getTransitionName(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.getTransitionName(view);
}
WeakHashMap<View, String> weakHashMap = sTransitionNameMap;
if (weakHashMap == null) {
return null;
}
return weakHashMap.get(view);
}
@Deprecated
public static int getWindowSystemUiVisibility(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.getWindowSystemUiVisibility(view);
}
return 0;
}
public static void requestApplyInsets(View view) {
if (Build.VERSION.SDK_INT >= 20) {
Api20Impl.requestApplyInsets(view);
} else if (Build.VERSION.SDK_INT >= 16) {
Api16Impl.requestFitSystemWindows(view);
}
}
@Deprecated
public static void setChildrenDrawingOrderEnabled(ViewGroup viewGroup, boolean z) {
if (sChildrenDrawingOrderMethod == null) {
Class<ViewGroup> cls = ViewGroup.class;
try {
sChildrenDrawingOrderMethod = cls.getDeclaredMethod("setChildrenDrawingOrderEnabled", new Class[]{Boolean.TYPE});
} catch (NoSuchMethodException e) {
Log.e(TAG, "Unable to find childrenDrawingOrderEnabled", e);
}
sChildrenDrawingOrderMethod.setAccessible(true);
}
try {
sChildrenDrawingOrderMethod.invoke(viewGroup, new Object[]{Boolean.valueOf(z)});
} catch (IllegalAccessException e2) {
Log.e(TAG, "Unable to invoke childrenDrawingOrderEnabled", e2);
} catch (IllegalArgumentException e3) {
Log.e(TAG, "Unable to invoke childrenDrawingOrderEnabled", e3);
} catch (InvocationTargetException e4) {
Log.e(TAG, "Unable to invoke childrenDrawingOrderEnabled", e4);
}
}
public static boolean getFitsSystemWindows(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.getFitsSystemWindows(view);
}
return false;
}
@Deprecated
public static void setFitsSystemWindows(View view, boolean z) {
view.setFitsSystemWindows(z);
}
@Deprecated
public static void jumpDrawablesToCurrentState(View view) {
view.jumpDrawablesToCurrentState();
}
public static void setOnApplyWindowInsetsListener(View view, OnApplyWindowInsetsListener onApplyWindowInsetsListener) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setOnApplyWindowInsetsListener(view, onApplyWindowInsetsListener);
}
}
public static WindowInsetsCompat onApplyWindowInsets(View view, WindowInsetsCompat windowInsetsCompat) {
WindowInsets windowInsets;
if (Build.VERSION.SDK_INT >= 21 && (windowInsets = windowInsetsCompat.toWindowInsets()) != null) {
WindowInsets onApplyWindowInsets = Api20Impl.onApplyWindowInsets(view, windowInsets);
if (!onApplyWindowInsets.equals(windowInsets)) {
return WindowInsetsCompat.toWindowInsetsCompat(onApplyWindowInsets, view);
}
}
return windowInsetsCompat;
}
public static WindowInsetsCompat dispatchApplyWindowInsets(View view, WindowInsetsCompat windowInsetsCompat) {
WindowInsets windowInsets;
if (Build.VERSION.SDK_INT >= 21 && (windowInsets = windowInsetsCompat.toWindowInsets()) != null) {
WindowInsets dispatchApplyWindowInsets = Api20Impl.dispatchApplyWindowInsets(view, windowInsets);
if (!dispatchApplyWindowInsets.equals(windowInsets)) {
return WindowInsetsCompat.toWindowInsetsCompat(dispatchApplyWindowInsets, view);
}
}
return windowInsetsCompat;
}
public static void setSystemGestureExclusionRects(View view, List<Rect> list) {
if (Build.VERSION.SDK_INT >= 29) {
Api29Impl.setSystemGestureExclusionRects(view, list);
}
}
public static List<Rect> getSystemGestureExclusionRects(View view) {
if (Build.VERSION.SDK_INT >= 29) {
return Api29Impl.getSystemGestureExclusionRects(view);
}
return Collections.emptyList();
}
public static WindowInsetsCompat getRootWindowInsets(View view) {
if (Build.VERSION.SDK_INT >= 23) {
return Api23Impl.getRootWindowInsets(view);
}
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.getRootWindowInsets(view);
}
return null;
}
public static WindowInsetsCompat computeSystemWindowInsets(View view, WindowInsetsCompat windowInsetsCompat, Rect rect) {
return Build.VERSION.SDK_INT >= 21 ? Api21Impl.computeSystemWindowInsets(view, windowInsetsCompat, rect) : windowInsetsCompat;
}
public static WindowInsetsControllerCompat getWindowInsetsController(View view) {
if (Build.VERSION.SDK_INT >= 30) {
return Api30Impl.getWindowInsetsController(view);
}
for (Context context = view.getContext(); context instanceof ContextWrapper; context = ((ContextWrapper) context).getBaseContext()) {
if (context instanceof Activity) {
Window window = ((Activity) context).getWindow();
if (window != null) {
return WindowCompat.getInsetsController(window, view);
}
return null;
}
}
return null;
}
public static void setWindowInsetsAnimationCallback(View view, WindowInsetsAnimationCompat.Callback callback) {
WindowInsetsAnimationCompat.setCallback(view, callback);
}
public static void setOnReceiveContentListener(View view, String[] strArr, OnReceiveContentListener onReceiveContentListener) {
if (Build.VERSION.SDK_INT >= 31) {
Api31Impl.setOnReceiveContentListener(view, strArr, onReceiveContentListener);
return;
}
if (strArr == null || strArr.length == 0) {
strArr = null;
}
boolean z = false;
if (onReceiveContentListener != null) {
Preconditions.checkArgument(strArr != null, "When the listener is set, MIME types must also be set");
}
if (strArr != null) {
int length = strArr.length;
int i = 0;
while (true) {
if (i >= length) {
break;
} else if (strArr[i].startsWith("*")) {
z = true;
break;
} else {
i++;
}
}
Preconditions.checkArgument(!z, "A MIME type set here must not start with *: " + Arrays.toString(strArr));
}
view.setTag(R.id.tag_on_receive_content_mime_types, strArr);
view.setTag(R.id.tag_on_receive_content_listener, onReceiveContentListener);
}
public static String[] getOnReceiveContentMimeTypes(View view) {
if (Build.VERSION.SDK_INT >= 31) {
return Api31Impl.getReceiveContentMimeTypes(view);
}
return (String[]) view.getTag(R.id.tag_on_receive_content_mime_types);
}
public static ContentInfoCompat performReceiveContent(View view, ContentInfoCompat contentInfoCompat) {
if (Log.isLoggable(TAG, 3)) {
Log.d(TAG, "performReceiveContent: " + contentInfoCompat + ", view=" + view.getClass().getSimpleName() + "[" + view.getId() + "]");
}
if (Build.VERSION.SDK_INT >= 31) {
return Api31Impl.performReceiveContent(view, contentInfoCompat);
}
OnReceiveContentListener onReceiveContentListener = (OnReceiveContentListener) view.getTag(R.id.tag_on_receive_content_listener);
if (onReceiveContentListener == null) {
return getFallback(view).onReceiveContent(contentInfoCompat);
}
ContentInfoCompat onReceiveContent = onReceiveContentListener.onReceiveContent(view, contentInfoCompat);
if (onReceiveContent == null) {
return null;
}
return getFallback(view).onReceiveContent(onReceiveContent);
}
private static OnReceiveContentViewBehavior getFallback(View view) {
if (view instanceof OnReceiveContentViewBehavior) {
return (OnReceiveContentViewBehavior) view;
}
return NO_OP_ON_RECEIVE_CONTENT_VIEW_BEHAVIOR;
}
private static final class Api31Impl {
private Api31Impl() {
}
public static void setOnReceiveContentListener(View view, String[] strArr, OnReceiveContentListener onReceiveContentListener) {
if (onReceiveContentListener == null) {
view.setOnReceiveContentListener(strArr, (OnReceiveContentListener) null);
} else {
view.setOnReceiveContentListener(strArr, new OnReceiveContentListenerAdapter(onReceiveContentListener));
}
}
public static String[] getReceiveContentMimeTypes(View view) {
return view.getReceiveContentMimeTypes();
}
public static ContentInfoCompat performReceiveContent(View view, ContentInfoCompat contentInfoCompat) {
ContentInfo contentInfo = contentInfoCompat.toContentInfo();
ContentInfo performReceiveContent = view.performReceiveContent(contentInfo);
if (performReceiveContent == null) {
return null;
}
if (performReceiveContent == contentInfo) {
return contentInfoCompat;
}
return ContentInfoCompat.toContentInfoCompat(performReceiveContent);
}
}
private static final class OnReceiveContentListenerAdapter implements OnReceiveContentListener {
private final OnReceiveContentListener mJetpackListener;
OnReceiveContentListenerAdapter(OnReceiveContentListener onReceiveContentListener) {
this.mJetpackListener = onReceiveContentListener;
}
public ContentInfo onReceiveContent(View view, ContentInfo contentInfo) {
ContentInfoCompat contentInfoCompat = ContentInfoCompat.toContentInfoCompat(contentInfo);
ContentInfoCompat onReceiveContent = this.mJetpackListener.onReceiveContent(view, contentInfoCompat);
if (onReceiveContent == null) {
return null;
}
if (onReceiveContent == contentInfoCompat) {
return contentInfo;
}
return onReceiveContent.toContentInfo();
}
}
@Deprecated
public static void setSaveFromParentEnabled(View view, boolean z) {
view.setSaveFromParentEnabled(z);
}
@Deprecated
public static void setActivated(View view, boolean z) {
view.setActivated(z);
}
public static boolean hasOverlappingRendering(View view) {
if (Build.VERSION.SDK_INT >= 16) {
return Api16Impl.hasOverlappingRendering(view);
}
return true;
}
public static boolean isPaddingRelative(View view) {
if (Build.VERSION.SDK_INT >= 17) {
return Api17Impl.isPaddingRelative(view);
}
return false;
}
public static void setBackground(View view, Drawable drawable) {
if (Build.VERSION.SDK_INT >= 16) {
Api16Impl.setBackground(view, drawable);
} else {
view.setBackgroundDrawable(drawable);
}
}
public static ColorStateList getBackgroundTintList(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.getBackgroundTintList(view);
}
if (view instanceof TintableBackgroundView) {
return ((TintableBackgroundView) view).getSupportBackgroundTintList();
}
return null;
}
public static void setBackgroundTintList(View view, ColorStateList colorStateList) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setBackgroundTintList(view, colorStateList);
if (Build.VERSION.SDK_INT == 21) {
Drawable background = view.getBackground();
boolean z = (Api21Impl.getBackgroundTintList(view) == null && Api21Impl.getBackgroundTintMode(view) == null) ? false : true;
if (background != null && z) {
if (background.isStateful()) {
background.setState(view.getDrawableState());
}
Api16Impl.setBackground(view, background);
}
}
} else if (view instanceof TintableBackgroundView) {
((TintableBackgroundView) view).setSupportBackgroundTintList(colorStateList);
}
}
public static PorterDuff.Mode getBackgroundTintMode(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.getBackgroundTintMode(view);
}
if (view instanceof TintableBackgroundView) {
return ((TintableBackgroundView) view).getSupportBackgroundTintMode();
}
return null;
}
public static void setBackgroundTintMode(View view, PorterDuff.Mode mode) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setBackgroundTintMode(view, mode);
if (Build.VERSION.SDK_INT == 21) {
Drawable background = view.getBackground();
boolean z = (Api21Impl.getBackgroundTintList(view) == null && Api21Impl.getBackgroundTintMode(view) == null) ? false : true;
if (background != null && z) {
if (background.isStateful()) {
background.setState(view.getDrawableState());
}
Api16Impl.setBackground(view, background);
}
}
} else if (view instanceof TintableBackgroundView) {
((TintableBackgroundView) view).setSupportBackgroundTintMode(mode);
}
}
public static void setNestedScrollingEnabled(View view, boolean z) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setNestedScrollingEnabled(view, z);
} else if (view instanceof NestedScrollingChild) {
((NestedScrollingChild) view).setNestedScrollingEnabled(z);
}
}
public static boolean isNestedScrollingEnabled(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.isNestedScrollingEnabled(view);
}
if (view instanceof NestedScrollingChild) {
return ((NestedScrollingChild) view).isNestedScrollingEnabled();
}
return false;
}
public static boolean startNestedScroll(View view, int i) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.startNestedScroll(view, i);
}
if (view instanceof NestedScrollingChild) {
return ((NestedScrollingChild) view).startNestedScroll(i);
}
return false;
}
public static void stopNestedScroll(View view) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.stopNestedScroll(view);
} else if (view instanceof NestedScrollingChild) {
((NestedScrollingChild) view).stopNestedScroll();
}
}
public static boolean hasNestedScrollingParent(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.hasNestedScrollingParent(view);
}
if (view instanceof NestedScrollingChild) {
return ((NestedScrollingChild) view).hasNestedScrollingParent();
}
return false;
}
public static boolean dispatchNestedScroll(View view, int i, int i2, int i3, int i4, int[] iArr) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.dispatchNestedScroll(view, i, i2, i3, i4, iArr);
}
if (view instanceof NestedScrollingChild) {
return ((NestedScrollingChild) view).dispatchNestedScroll(i, i2, i3, i4, iArr);
}
return false;
}
public static boolean dispatchNestedPreScroll(View view, int i, int i2, int[] iArr, int[] iArr2) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.dispatchNestedPreScroll(view, i, i2, iArr, iArr2);
}
if (view instanceof NestedScrollingChild) {
return ((NestedScrollingChild) view).dispatchNestedPreScroll(i, i2, iArr, iArr2);
}
return false;
}
public static boolean startNestedScroll(View view, int i, int i2) {
if (view instanceof NestedScrollingChild2) {
return ((NestedScrollingChild2) view).startNestedScroll(i, i2);
}
if (i2 == 0) {
return startNestedScroll(view, i);
}
return false;
}
public static void stopNestedScroll(View view, int i) {
if (view instanceof NestedScrollingChild2) {
((NestedScrollingChild2) view).stopNestedScroll(i);
} else if (i == 0) {
stopNestedScroll(view);
}
}
public static boolean hasNestedScrollingParent(View view, int i) {
if (view instanceof NestedScrollingChild2) {
((NestedScrollingChild2) view).hasNestedScrollingParent(i);
return false;
} else if (i == 0) {
return hasNestedScrollingParent(view);
} else {
return false;
}
}
public static void dispatchNestedScroll(View view, int i, int i2, int i3, int i4, int[] iArr, int i5, int[] iArr2) {
View view2 = view;
if (view2 instanceof NestedScrollingChild3) {
((NestedScrollingChild3) view2).dispatchNestedScroll(i, i2, i3, i4, iArr, i5, iArr2);
} else {
dispatchNestedScroll(view, i, i2, i3, i4, iArr, i5);
}
}
public static boolean dispatchNestedScroll(View view, int i, int i2, int i3, int i4, int[] iArr, int i5) {
if (view instanceof NestedScrollingChild2) {
return ((NestedScrollingChild2) view).dispatchNestedScroll(i, i2, i3, i4, iArr, i5);
}
if (i5 == 0) {
return dispatchNestedScroll(view, i, i2, i3, i4, iArr);
}
return false;
}
public static boolean dispatchNestedPreScroll(View view, int i, int i2, int[] iArr, int[] iArr2, int i3) {
if (view instanceof NestedScrollingChild2) {
return ((NestedScrollingChild2) view).dispatchNestedPreScroll(i, i2, iArr, iArr2, i3);
}
if (i3 == 0) {
return dispatchNestedPreScroll(view, i, i2, iArr, iArr2);
}
return false;
}
public static boolean dispatchNestedFling(View view, float f, float f2, boolean z) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.dispatchNestedFling(view, f, f2, z);
}
if (view instanceof NestedScrollingChild) {
return ((NestedScrollingChild) view).dispatchNestedFling(f, f2, z);
}
return false;
}
public static boolean dispatchNestedPreFling(View view, float f, float f2) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.dispatchNestedPreFling(view, f, f2);
}
if (view instanceof NestedScrollingChild) {
return ((NestedScrollingChild) view).dispatchNestedPreFling(f, f2);
}
return false;
}
public static boolean isInLayout(View view) {
if (Build.VERSION.SDK_INT >= 18) {
return Api18Impl.isInLayout(view);
}
return false;
}
public static boolean isLaidOut(View view) {
if (Build.VERSION.SDK_INT >= 19) {
return Api19Impl.isLaidOut(view);
}
return view.getWidth() > 0 && view.getHeight() > 0;
}
public static boolean isLayoutDirectionResolved(View view) {
if (Build.VERSION.SDK_INT >= 19) {
return Api19Impl.isLayoutDirectionResolved(view);
}
return false;
}
public static float getZ(View view) {
if (Build.VERSION.SDK_INT >= 21) {
return Api21Impl.getZ(view);
}
return 0.0f;
}
public static void setZ(View view, float f) {
if (Build.VERSION.SDK_INT >= 21) {
Api21Impl.setZ(view, f);
}
}
public static void offsetTopAndBottom(View view, int i) {
if (Build.VERSION.SDK_INT >= 23) {
view.offsetTopAndBottom(i);
} else if (Build.VERSION.SDK_INT >= 21) {
Rect emptyTempRect = getEmptyTempRect();
boolean z = false;
ViewParent parent = view.getParent();
if (parent instanceof View) {
View view2 = (View) parent;
emptyTempRect.set(view2.getLeft(), view2.getTop(), view2.getRight(), view2.getBottom());
z = !emptyTempRect.intersects(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
}
compatOffsetTopAndBottom(view, i);
if (z && emptyTempRect.intersect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom())) {
((View) parent).invalidate(emptyTempRect);
}
} else {
compatOffsetTopAndBottom(view, i);
}
}
private static void compatOffsetTopAndBottom(View view, int i) {
view.offsetTopAndBottom(i);
if (view.getVisibility() == 0) {
tickleInvalidationFlag(view);
ViewParent parent = view.getParent();
if (parent instanceof View) {
tickleInvalidationFlag((View) parent);
}
}
}
public static void offsetLeftAndRight(View view, int i) {
if (Build.VERSION.SDK_INT >= 23) {
view.offsetLeftAndRight(i);
} else if (Build.VERSION.SDK_INT >= 21) {
Rect emptyTempRect = getEmptyTempRect();
boolean z = false;
ViewParent parent = view.getParent();
if (parent instanceof View) {
View view2 = (View) parent;
emptyTempRect.set(view2.getLeft(), view2.getTop(), view2.getRight(), view2.getBottom());
z = !emptyTempRect.intersects(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
}
compatOffsetLeftAndRight(view, i);
if (z && emptyTempRect.intersect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom())) {
((View) parent).invalidate(emptyTempRect);
}
} else {
compatOffsetLeftAndRight(view, i);
}
}
private static void compatOffsetLeftAndRight(View view, int i) {
view.offsetLeftAndRight(i);
if (view.getVisibility() == 0) {
tickleInvalidationFlag(view);
ViewParent parent = view.getParent();
if (parent instanceof View) {
tickleInvalidationFlag((View) parent);
}
}
}
private static void tickleInvalidationFlag(View view) {
float translationY = view.getTranslationY();
view.setTranslationY(1.0f + translationY);
view.setTranslationY(translationY);
}
public static void setClipBounds(View view, Rect rect) {
if (Build.VERSION.SDK_INT >= 18) {
Api18Impl.setClipBounds(view, rect);
}
}
public static Rect getClipBounds(View view) {
if (Build.VERSION.SDK_INT >= 18) {
return Api18Impl.getClipBounds(view);
}
return null;
}
public static boolean isAttachedToWindow(View view) {
if (Build.VERSION.SDK_INT >= 19) {
return Api19Impl.isAttachedToWindow(view);
}
return view.getWindowToken() != null;
}
public static boolean hasOnClickListeners(View view) {
if (Build.VERSION.SDK_INT >= 15) {
return Api15Impl.hasOnClickListeners(view);
}
return false;
}
public static void setScrollIndicators(View view, int i) {
if (Build.VERSION.SDK_INT >= 23) {
Api23Impl.setScrollIndicators(view, i);
}
}
public static void setScrollIndicators(View view, int i, int i2) {
if (Build.VERSION.SDK_INT >= 23) {
Api23Impl.setScrollIndicators(view, i, i2);
}
}
public static int getScrollIndicators(View view) {
if (Build.VERSION.SDK_INT >= 23) {
return Api23Impl.getScrollIndicators(view);
}
return 0;
}
public static void setPointerIcon(View view, PointerIconCompat pointerIconCompat) {
if (Build.VERSION.SDK_INT >= 24) {
Api24Impl.setPointerIcon(view, (PointerIcon) (pointerIconCompat != null ? pointerIconCompat.getPointerIcon() : null));
}
}
public static Display getDisplay(View view) {
if (Build.VERSION.SDK_INT >= 17) {
return Api17Impl.getDisplay(view);
}
if (isAttachedToWindow(view)) {
return ((WindowManager) view.getContext().getSystemService("window")).getDefaultDisplay();
}
return null;
}
public static void setTooltipText(View view, CharSequence charSequence) {
if (Build.VERSION.SDK_INT >= 26) {
Api26Impl.setTooltipText(view, charSequence);
}
}
public static boolean startDragAndDrop(View view, ClipData clipData, View.DragShadowBuilder dragShadowBuilder, Object obj, int i) {
if (Build.VERSION.SDK_INT >= 24) {
return Api24Impl.startDragAndDrop(view, clipData, dragShadowBuilder, obj, i);
}
return view.startDrag(clipData, dragShadowBuilder, obj, i);
}
public static void cancelDragAndDrop(View view) {
if (Build.VERSION.SDK_INT >= 24) {
Api24Impl.cancelDragAndDrop(view);
}
}
public static void updateDragShadow(View view, View.DragShadowBuilder dragShadowBuilder) {
if (Build.VERSION.SDK_INT >= 24) {
Api24Impl.updateDragShadow(view, dragShadowBuilder);
}
}
public static int getNextClusterForwardId(View view) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.getNextClusterForwardId(view);
}
return -1;
}
public static void setNextClusterForwardId(View view, int i) {
if (Build.VERSION.SDK_INT >= 26) {
Api26Impl.setNextClusterForwardId(view, i);
}
}
public static boolean isKeyboardNavigationCluster(View view) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.isKeyboardNavigationCluster(view);
}
return false;
}
public static void setKeyboardNavigationCluster(View view, boolean z) {
if (Build.VERSION.SDK_INT >= 26) {
Api26Impl.setKeyboardNavigationCluster(view, z);
}
}
public static boolean isFocusedByDefault(View view) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.isFocusedByDefault(view);
}
return false;
}
public static void setFocusedByDefault(View view, boolean z) {
if (Build.VERSION.SDK_INT >= 26) {
Api26Impl.setFocusedByDefault(view, z);
}
}
public static View keyboardNavigationClusterSearch(View view, View view2, int i) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.keyboardNavigationClusterSearch(view, view2, i);
}
return null;
}
public static void addKeyboardNavigationClusters(View view, Collection<View> collection, int i) {
if (Build.VERSION.SDK_INT >= 26) {
Api26Impl.addKeyboardNavigationClusters(view, collection, i);
}
}
public static boolean restoreDefaultFocus(View view) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.restoreDefaultFocus(view);
}
return view.requestFocus();
}
public static boolean hasExplicitFocusable(View view) {
if (Build.VERSION.SDK_INT >= 26) {
return Api26Impl.hasExplicitFocusable(view);
}
return view.hasFocusable();
}
public static int generateViewId() {
AtomicInteger atomicInteger;
int i;
int i2;
if (Build.VERSION.SDK_INT >= 17) {
return Api17Impl.generateViewId();
}
do {
atomicInteger = sNextGeneratedId;
i = atomicInteger.get();
i2 = i + 1;
if (i2 > 16777215) {
i2 = 1;
}
} while (!atomicInteger.compareAndSet(i, i2));
return i;
}
public static void addOnUnhandledKeyEventListener(View view, OnUnhandledKeyEventListenerCompat onUnhandledKeyEventListenerCompat) {
if (Build.VERSION.SDK_INT >= 28) {
Api28Impl.addOnUnhandledKeyEventListener(view, onUnhandledKeyEventListenerCompat);
return;
}
ArrayList arrayList = (ArrayList) view.getTag(R.id.tag_unhandled_key_listeners);
if (arrayList == null) {
arrayList = new ArrayList();
view.setTag(R.id.tag_unhandled_key_listeners, arrayList);
}
arrayList.add(onUnhandledKeyEventListenerCompat);
if (arrayList.size() == 1) {
UnhandledKeyEventManager.registerListeningView(view);
}
}
public static void removeOnUnhandledKeyEventListener(View view, OnUnhandledKeyEventListenerCompat onUnhandledKeyEventListenerCompat) {
if (Build.VERSION.SDK_INT >= 28) {
Api28Impl.removeOnUnhandledKeyEventListener(view, onUnhandledKeyEventListenerCompat);
return;
}
ArrayList arrayList = (ArrayList) view.getTag(R.id.tag_unhandled_key_listeners);
if (arrayList != null) {
arrayList.remove(onUnhandledKeyEventListenerCompat);
if (arrayList.size() == 0) {
UnhandledKeyEventManager.unregisterListeningView(view);
}
}
}
@Deprecated
protected ViewCompat() {
}
static boolean dispatchUnhandledKeyEventBeforeHierarchy(View view, KeyEvent keyEvent) {
if (Build.VERSION.SDK_INT >= 28) {
return false;
}
return UnhandledKeyEventManager.at(view).preDispatch(keyEvent);
}
static boolean dispatchUnhandledKeyEventBeforeCallback(View view, KeyEvent keyEvent) {
if (Build.VERSION.SDK_INT >= 28) {
return false;
}
return UnhandledKeyEventManager.at(view).dispatch(view, keyEvent);
}
public static void setScreenReaderFocusable(View view, boolean z) {
screenReaderFocusableProperty().set(view, Boolean.valueOf(z));
}
public static boolean isScreenReaderFocusable(View view) {
Boolean bool = screenReaderFocusableProperty().get(view);
return bool != null && bool.booleanValue();
}
private static AccessibilityViewProperty<Boolean> screenReaderFocusableProperty() {
return new AccessibilityViewProperty<Boolean>(R.id.tag_screen_reader_focusable, Boolean.class, 28) {
/* access modifiers changed from: package-private */
public Boolean frameworkGet(View view) {
return Boolean.valueOf(Api28Impl.isScreenReaderFocusable(view));
}
/* access modifiers changed from: package-private */
public void frameworkSet(View view, Boolean bool) {
Api28Impl.setScreenReaderFocusable(view, bool.booleanValue());
}
/* access modifiers changed from: package-private */
public boolean shouldUpdate(Boolean bool, Boolean bool2) {
return !booleanNullToFalseEquals(bool, bool2);
}
};
}
public static void setAccessibilityPaneTitle(View view, CharSequence charSequence) {
if (Build.VERSION.SDK_INT >= 19) {
paneTitleProperty().set(view, charSequence);
if (charSequence != null) {
sAccessibilityPaneVisibilityManager.addAccessibilityPane(view);
} else {
sAccessibilityPaneVisibilityManager.removeAccessibilityPane(view);
}
}
}
public static CharSequence getAccessibilityPaneTitle(View view) {
return paneTitleProperty().get(view);
}
private static AccessibilityViewProperty<CharSequence> paneTitleProperty() {
return new AccessibilityViewProperty<CharSequence>(R.id.tag_accessibility_pane_title, CharSequence.class, 8, 28) {
/* access modifiers changed from: package-private */
public CharSequence frameworkGet(View view) {
return Api28Impl.getAccessibilityPaneTitle(view);
}
/* access modifiers changed from: package-private */
public void frameworkSet(View view, CharSequence charSequence) {
Api28Impl.setAccessibilityPaneTitle(view, charSequence);
}
/* access modifiers changed from: package-private */
public boolean shouldUpdate(CharSequence charSequence, CharSequence charSequence2) {
return !TextUtils.equals(charSequence, charSequence2);
}
};
}
private static AccessibilityViewProperty<CharSequence> stateDescriptionProperty() {
return new AccessibilityViewProperty<CharSequence>(R.id.tag_state_description, CharSequence.class, 64, 30) {
/* access modifiers changed from: package-private */
public CharSequence frameworkGet(View view) {
return Api30Impl.getStateDescription(view);
}
/* access modifiers changed from: package-private */
public void frameworkSet(View view, CharSequence charSequence) {
Api30Impl.setStateDescription(view, charSequence);
}
/* access modifiers changed from: package-private */
public boolean shouldUpdate(CharSequence charSequence, CharSequence charSequence2) {
return !TextUtils.equals(charSequence, charSequence2);
}
};
}
public static boolean isAccessibilityHeading(View view) {
Boolean bool = accessibilityHeadingProperty().get(view);
return bool != null && bool.booleanValue();
}
public static void setAccessibilityHeading(View view, boolean z) {
accessibilityHeadingProperty().set(view, Boolean.valueOf(z));
}
private static AccessibilityViewProperty<Boolean> accessibilityHeadingProperty() {
return new AccessibilityViewProperty<Boolean>(R.id.tag_accessibility_heading, Boolean.class, 28) {
/* access modifiers changed from: package-private */
public Boolean frameworkGet(View view) {
return Boolean.valueOf(Api28Impl.isAccessibilityHeading(view));
}
/* access modifiers changed from: package-private */
public void frameworkSet(View view, Boolean bool) {
Api28Impl.setAccessibilityHeading(view, bool.booleanValue());
}
/* access modifiers changed from: package-private */
public boolean shouldUpdate(Boolean bool, Boolean bool2) {
return !booleanNullToFalseEquals(bool, bool2);
}
};
}
static abstract class AccessibilityViewProperty<T> {
private final int mContentChangeType;
private final int mFrameworkMinimumSdk;
private final int mTagKey;
private final Class<T> mType;
/* access modifiers changed from: package-private */
public abstract T frameworkGet(View view);
/* access modifiers changed from: package-private */
public abstract void frameworkSet(View view, T t);
AccessibilityViewProperty(int i, Class<T> cls, int i2) {
this(i, cls, 0, i2);
}
AccessibilityViewProperty(int i, Class<T> cls, int i2, int i3) {
this.mTagKey = i;
this.mType = cls;
this.mContentChangeType = i2;
this.mFrameworkMinimumSdk = i3;
}
/* access modifiers changed from: package-private */
public void set(View view, T t) {
if (frameworkAvailable()) {
frameworkSet(view, t);
} else if (extrasAvailable() && shouldUpdate(get(view), t)) {
ViewCompat.ensureAccessibilityDelegateCompat(view);
view.setTag(this.mTagKey, t);
ViewCompat.notifyViewAccessibilityStateChangedIfNeeded(view, this.mContentChangeType);
}
}
/* access modifiers changed from: package-private */
public T get(View view) {
if (frameworkAvailable()) {
return frameworkGet(view);
}
if (!extrasAvailable()) {
return null;
}
T tag = view.getTag(this.mTagKey);
if (this.mType.isInstance(tag)) {
return tag;
}
return null;
}
private boolean frameworkAvailable() {
return Build.VERSION.SDK_INT >= this.mFrameworkMinimumSdk;
}
private boolean extrasAvailable() {
return Build.VERSION.SDK_INT >= 19;
}
/* access modifiers changed from: package-private */
public boolean shouldUpdate(T t, T t2) {
return !t2.equals(t);
}
/* access modifiers changed from: package-private */
public boolean booleanNullToFalseEquals(Boolean bool, Boolean bool2) {
if ((bool != null && bool.booleanValue()) == (bool2 != null && bool2.booleanValue())) {
return true;
}
return false;
}
}
static void notifyViewAccessibilityStateChangedIfNeeded(View view, int i) {
AccessibilityManager accessibilityManager = (AccessibilityManager) view.getContext().getSystemService("accessibility");
if (accessibilityManager.isEnabled()) {
boolean z = getAccessibilityPaneTitle(view) != null && view.getVisibility() == 0;
int i2 = 32;
if (getAccessibilityLiveRegion(view) != 0 || z) {
AccessibilityEvent obtain = AccessibilityEvent.obtain();
if (!z) {
i2 = 2048;
}
obtain.setEventType(i2);
Api19Impl.setContentChangeTypes(obtain, i);
if (z) {
obtain.getText().add(getAccessibilityPaneTitle(view));
setViewImportanceForAccessibilityIfNeeded(view);
}
view.sendAccessibilityEventUnchecked(obtain);
} else if (i == 32) {
AccessibilityEvent obtain2 = AccessibilityEvent.obtain();
view.onInitializeAccessibilityEvent(obtain2);
obtain2.setEventType(32);
Api19Impl.setContentChangeTypes(obtain2, i);
obtain2.setSource(view);
view.onPopulateAccessibilityEvent(obtain2);
obtain2.getText().add(getAccessibilityPaneTitle(view));
accessibilityManager.sendAccessibilityEvent(obtain2);
} else if (view.getParent() != null) {
try {
Api19Impl.notifySubtreeAccessibilityStateChanged(view.getParent(), view, view, i);
} catch (AbstractMethodError e) {
Log.e(TAG, view.getParent().getClass().getSimpleName() + " does not fully implement ViewParent", e);
}
}
}
}
private static void setViewImportanceForAccessibilityIfNeeded(View view) {
if (getImportantForAccessibility(view) == 0) {
setImportantForAccessibility(view, 1);
}
for (ViewParent parent = view.getParent(); parent instanceof View; parent = parent.getParent()) {
if (getImportantForAccessibility((View) parent) == 4) {
setImportantForAccessibility(view, 2);
return;
}
}
}
static class AccessibilityPaneVisibilityManager implements ViewTreeObserver.OnGlobalLayoutListener, View.OnAttachStateChangeListener {
private final WeakHashMap<View, Boolean> mPanesToVisible = new WeakHashMap<>();
public void onViewDetachedFromWindow(View view) {
}
AccessibilityPaneVisibilityManager() {
}
public void onGlobalLayout() {
if (Build.VERSION.SDK_INT < 28) {
for (Map.Entry next : this.mPanesToVisible.entrySet()) {
checkPaneVisibility((View) next.getKey(), ((Boolean) next.getValue()).booleanValue());
}
}
}
public void onViewAttachedToWindow(View view) {
registerForLayoutCallback(view);
}
/* access modifiers changed from: package-private */
public void addAccessibilityPane(View view) {
this.mPanesToVisible.put(view, Boolean.valueOf(view.getVisibility() == 0));
view.addOnAttachStateChangeListener(this);
if (Api19Impl.isAttachedToWindow(view)) {
registerForLayoutCallback(view);
}
}
/* access modifiers changed from: package-private */
public void removeAccessibilityPane(View view) {
this.mPanesToVisible.remove(view);
view.removeOnAttachStateChangeListener(this);
unregisterForLayoutCallback(view);
}
private void checkPaneVisibility(View view, boolean z) {
boolean z2 = view.getVisibility() == 0;
if (z != z2) {
ViewCompat.notifyViewAccessibilityStateChangedIfNeeded(view, z2 ? 16 : 32);
this.mPanesToVisible.put(view, Boolean.valueOf(z2));
}
}
private void registerForLayoutCallback(View view) {
view.getViewTreeObserver().addOnGlobalLayoutListener(this);
}
private void unregisterForLayoutCallback(View view) {
Api16Impl.removeOnGlobalLayoutListener(view.getViewTreeObserver(), this);
}
}
static class UnhandledKeyEventManager {
private static final ArrayList<WeakReference<View>> sViewsWithListeners = new ArrayList<>();
private SparseArray<WeakReference<View>> mCapturedKeys = null;
private WeakReference<KeyEvent> mLastDispatchedPreViewKeyEvent = null;
private WeakHashMap<View, Boolean> mViewsContainingListeners = null;
UnhandledKeyEventManager() {
}
private SparseArray<WeakReference<View>> getCapturedKeys() {
if (this.mCapturedKeys == null) {
this.mCapturedKeys = new SparseArray<>();
}
return this.mCapturedKeys;
}
static UnhandledKeyEventManager at(View view) {
UnhandledKeyEventManager unhandledKeyEventManager = (UnhandledKeyEventManager) view.getTag(R.id.tag_unhandled_key_event_manager);
if (unhandledKeyEventManager != null) {
return unhandledKeyEventManager;
}
UnhandledKeyEventManager unhandledKeyEventManager2 = new UnhandledKeyEventManager();
view.setTag(R.id.tag_unhandled_key_event_manager, unhandledKeyEventManager2);
return unhandledKeyEventManager2;
}
/* access modifiers changed from: package-private */
public boolean dispatch(View view, KeyEvent keyEvent) {
if (keyEvent.getAction() == 0) {
recalcViewsWithUnhandled();
}
View dispatchInOrder = dispatchInOrder(view, keyEvent);
if (keyEvent.getAction() == 0) {
int keyCode = keyEvent.getKeyCode();
if (dispatchInOrder != null && !KeyEvent.isModifierKey(keyCode)) {
getCapturedKeys().put(keyCode, new WeakReference(dispatchInOrder));
}
}
return dispatchInOrder != null;
}
private View dispatchInOrder(View view, KeyEvent keyEvent) {
WeakHashMap<View, Boolean> weakHashMap = this.mViewsContainingListeners;
if (weakHashMap != null && weakHashMap.containsKey(view)) {
if (view instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view;
for (int childCount = viewGroup.getChildCount() - 1; childCount >= 0; childCount--) {
View dispatchInOrder = dispatchInOrder(viewGroup.getChildAt(childCount), keyEvent);
if (dispatchInOrder != null) {
return dispatchInOrder;
}
}
}
if (onUnhandledKeyEvent(view, keyEvent)) {
return view;
}
}
return null;
}
/* access modifiers changed from: package-private */
public boolean preDispatch(KeyEvent keyEvent) {
int indexOfKey;
WeakReference<KeyEvent> weakReference = this.mLastDispatchedPreViewKeyEvent;
if (weakReference != null && weakReference.get() == keyEvent) {
return false;
}
this.mLastDispatchedPreViewKeyEvent = new WeakReference<>(keyEvent);
WeakReference weakReference2 = null;
SparseArray<WeakReference<View>> capturedKeys = getCapturedKeys();
if (keyEvent.getAction() == 1 && (indexOfKey = capturedKeys.indexOfKey(keyEvent.getKeyCode())) >= 0) {
weakReference2 = capturedKeys.valueAt(indexOfKey);
capturedKeys.removeAt(indexOfKey);
}
if (weakReference2 == null) {
weakReference2 = capturedKeys.get(keyEvent.getKeyCode());
}
if (weakReference2 == null) {
return false;
}
View view = (View) weakReference2.get();
if (view != null && ViewCompat.isAttachedToWindow(view)) {
onUnhandledKeyEvent(view, keyEvent);
}
return true;
}
private boolean onUnhandledKeyEvent(View view, KeyEvent keyEvent) {
ArrayList arrayList = (ArrayList) view.getTag(R.id.tag_unhandled_key_listeners);
if (arrayList == null) {
return false;
}
for (int size = arrayList.size() - 1; size >= 0; size--) {
if (((OnUnhandledKeyEventListenerCompat) arrayList.get(size)).onUnhandledKeyEvent(view, keyEvent)) {
return true;
}
}
return false;
}
static void registerListeningView(View view) {
ArrayList<WeakReference<View>> arrayList = sViewsWithListeners;
synchronized (arrayList) {
Iterator<WeakReference<View>> it = arrayList.iterator();
while (it.hasNext()) {
if (it.next().get() == view) {
return;
}
}
sViewsWithListeners.add(new WeakReference(view));
}
}
static void unregisterListeningView(View view) {
synchronized (sViewsWithListeners) {
int i = 0;
while (true) {
ArrayList<WeakReference<View>> arrayList = sViewsWithListeners;
if (i >= arrayList.size()) {
return;
}
if (arrayList.get(i).get() == view) {
arrayList.remove(i);
return;
}
i++;
}
}
}
private void recalcViewsWithUnhandled() {
WeakHashMap<View, Boolean> weakHashMap = this.mViewsContainingListeners;
if (weakHashMap != null) {
weakHashMap.clear();
}
ArrayList<WeakReference<View>> arrayList = sViewsWithListeners;
if (!arrayList.isEmpty()) {
synchronized (arrayList) {
if (this.mViewsContainingListeners == null) {
this.mViewsContainingListeners = new WeakHashMap<>();
}
for (int size = arrayList.size() - 1; size >= 0; size--) {
ArrayList<WeakReference<View>> arrayList2 = sViewsWithListeners;
View view = (View) arrayList2.get(size).get();
if (view == null) {
arrayList2.remove(size);
} else {
this.mViewsContainingListeners.put(view, Boolean.TRUE);
for (ViewParent parent = view.getParent(); parent instanceof View; parent = parent.getParent()) {
this.mViewsContainingListeners.put((View) parent, Boolean.TRUE);
}
}
}
}
}
}
}
private static class Api21Impl {
private Api21Impl() {
}
public static WindowInsetsCompat getRootWindowInsets(View view) {
return WindowInsetsCompat.Api21ReflectionHolder.getRootWindowInsets(view);
}
static WindowInsetsCompat computeSystemWindowInsets(View view, WindowInsetsCompat windowInsetsCompat, Rect rect) {
WindowInsets windowInsets = windowInsetsCompat.toWindowInsets();
if (windowInsets != null) {
return WindowInsetsCompat.toWindowInsetsCompat(view.computeSystemWindowInsets(windowInsets, rect), view);
}
rect.setEmpty();
return windowInsetsCompat;
}
static void setOnApplyWindowInsetsListener(final View view, final OnApplyWindowInsetsListener onApplyWindowInsetsListener) {
if (Build.VERSION.SDK_INT < 30) {
view.setTag(R.id.tag_on_apply_window_listener, onApplyWindowInsetsListener);
}
if (onApplyWindowInsetsListener == null) {
view.setOnApplyWindowInsetsListener((View.OnApplyWindowInsetsListener) view.getTag(R.id.tag_window_insets_animation_callback));
} else {
view.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
WindowInsetsCompat mLastInsets = null;
public WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
WindowInsetsCompat windowInsetsCompat = WindowInsetsCompat.toWindowInsetsCompat(windowInsets, view);
if (Build.VERSION.SDK_INT < 30) {
Api21Impl.callCompatInsetAnimationCallback(windowInsets, view);
if (windowInsetsCompat.equals(this.mLastInsets)) {
return onApplyWindowInsetsListener.onApplyWindowInsets(view, windowInsetsCompat).toWindowInsets();
}
}
this.mLastInsets = windowInsetsCompat;
WindowInsetsCompat onApplyWindowInsets = onApplyWindowInsetsListener.onApplyWindowInsets(view, windowInsetsCompat);
if (Build.VERSION.SDK_INT >= 30) {
return onApplyWindowInsets.toWindowInsets();
}
ViewCompat.requestApplyInsets(view);
return onApplyWindowInsets.toWindowInsets();
}
});
}
}
static void callCompatInsetAnimationCallback(WindowInsets windowInsets, View view) {
View.OnApplyWindowInsetsListener onApplyWindowInsetsListener = (View.OnApplyWindowInsetsListener) view.getTag(R.id.tag_window_insets_animation_callback);
if (onApplyWindowInsetsListener != null) {
onApplyWindowInsetsListener.onApplyWindowInsets(view, windowInsets);
}
}
static boolean dispatchNestedFling(View view, float f, float f2, boolean z) {
return view.dispatchNestedFling(f, f2, z);
}
static boolean dispatchNestedPreFling(View view, float f, float f2) {
return view.dispatchNestedPreFling(f, f2);
}
static float getZ(View view) {
return view.getZ();
}
static void setZ(View view, float f) {
view.setZ(f);
}
static void setElevation(View view, float f) {
view.setElevation(f);
}
static void setTranslationZ(View view, float f) {
view.setTranslationZ(f);
}
static float getTranslationZ(View view) {
return view.getTranslationZ();
}
static void setTransitionName(View view, String str) {
view.setTransitionName(str);
}
static boolean isImportantForAccessibility(View view) {
return view.isImportantForAccessibility();
}
static float getElevation(View view) {
return view.getElevation();
}
static String getTransitionName(View view) {
return view.getTransitionName();
}
static void setBackgroundTintList(View view, ColorStateList colorStateList) {
view.setBackgroundTintList(colorStateList);
}
static ColorStateList getBackgroundTintList(View view) {
return view.getBackgroundTintList();
}
static PorterDuff.Mode getBackgroundTintMode(View view) {
return view.getBackgroundTintMode();
}
static void setBackgroundTintMode(View view, PorterDuff.Mode mode) {
view.setBackgroundTintMode(mode);
}
static void setNestedScrollingEnabled(View view, boolean z) {
view.setNestedScrollingEnabled(z);
}
static boolean isNestedScrollingEnabled(View view) {
return view.isNestedScrollingEnabled();
}
static boolean startNestedScroll(View view, int i) {
return view.startNestedScroll(i);
}
static void stopNestedScroll(View view) {
view.stopNestedScroll();
}
static boolean hasNestedScrollingParent(View view) {
return view.hasNestedScrollingParent();
}
static boolean dispatchNestedScroll(View view, int i, int i2, int i3, int i4, int[] iArr) {
return view.dispatchNestedScroll(i, i2, i3, i4, iArr);
}
static boolean dispatchNestedPreScroll(View view, int i, int i2, int[] iArr, int[] iArr2) {
return view.dispatchNestedPreScroll(i, i2, iArr, iArr2);
}
}
private static class Api23Impl {
private Api23Impl() {
}
public static WindowInsetsCompat getRootWindowInsets(View view) {
WindowInsets rootWindowInsets = view.getRootWindowInsets();
if (rootWindowInsets == null) {
return null;
}
WindowInsetsCompat windowInsetsCompat = WindowInsetsCompat.toWindowInsetsCompat(rootWindowInsets);
windowInsetsCompat.setRootWindowInsets(windowInsetsCompat);
windowInsetsCompat.copyRootViewBounds(view.getRootView());
return windowInsetsCompat;
}
static void setScrollIndicators(View view, int i) {
view.setScrollIndicators(i);
}
static void setScrollIndicators(View view, int i, int i2) {
view.setScrollIndicators(i, i2);
}
static int getScrollIndicators(View view) {
return view.getScrollIndicators();
}
}
private static class Api29Impl {
private Api29Impl() {
}
static void saveAttributeDataForStyleable(View view, Context context, int[] iArr, AttributeSet attributeSet, TypedArray typedArray, int i, int i2) {
view.saveAttributeDataForStyleable(context, iArr, attributeSet, typedArray, i, i2);
}
static View.AccessibilityDelegate getAccessibilityDelegate(View view) {
return view.getAccessibilityDelegate();
}
static void setSystemGestureExclusionRects(View view, List<Rect> list) {
view.setSystemGestureExclusionRects(list);
}
static List<Rect> getSystemGestureExclusionRects(View view) {
return view.getSystemGestureExclusionRects();
}
}
private static class Api30Impl {
private Api30Impl() {
}
public static WindowInsetsControllerCompat getWindowInsetsController(View view) {
WindowInsetsController windowInsetsController = view.getWindowInsetsController();
if (windowInsetsController != null) {
return WindowInsetsControllerCompat.toWindowInsetsControllerCompat(windowInsetsController);
}
return null;
}
static void setStateDescription(View view, CharSequence charSequence) {
view.setStateDescription(charSequence);
}
static CharSequence getStateDescription(View view) {
return view.getStateDescription();
}
}
static class Api26Impl {
private Api26Impl() {
}
static void setAutofillHints(View view, String... strArr) {
view.setAutofillHints(strArr);
}
static void setTooltipText(View view, CharSequence charSequence) {
view.setTooltipText(charSequence);
}
static int getNextClusterForwardId(View view) {
return view.getNextClusterForwardId();
}
static void setNextClusterForwardId(View view, int i) {
view.setNextClusterForwardId(i);
}
static boolean isKeyboardNavigationCluster(View view) {
return view.isKeyboardNavigationCluster();
}
static void setKeyboardNavigationCluster(View view, boolean z) {
view.setKeyboardNavigationCluster(z);
}
static boolean isFocusedByDefault(View view) {
return view.isFocusedByDefault();
}
static void setFocusedByDefault(View view, boolean z) {
view.setFocusedByDefault(z);
}
static View keyboardNavigationClusterSearch(View view, View view2, int i) {
return view.keyboardNavigationClusterSearch(view2, i);
}
static void addKeyboardNavigationClusters(View view, Collection<View> collection, int i) {
view.addKeyboardNavigationClusters(collection, i);
}
static boolean restoreDefaultFocus(View view) {
return view.restoreDefaultFocus();
}
static boolean hasExplicitFocusable(View view) {
return view.hasExplicitFocusable();
}
static int getImportantForAutofill(View view) {
return view.getImportantForAutofill();
}
static void setImportantForAutofill(View view, int i) {
view.setImportantForAutofill(i);
}
static boolean isImportantForAutofill(View view) {
return view.isImportantForAutofill();
}
}
static class Api18Impl {
private Api18Impl() {
}
static boolean isInLayout(View view) {
return view.isInLayout();
}
static void setClipBounds(View view, Rect rect) {
view.setClipBounds(rect);
}
static Rect getClipBounds(View view) {
return view.getClipBounds();
}
}
static class Api19Impl {
private Api19Impl() {
}
static boolean isLaidOut(View view) {
return view.isLaidOut();
}
static boolean isAttachedToWindow(View view) {
return view.isAttachedToWindow();
}
static boolean isLayoutDirectionResolved(View view) {
return view.isLayoutDirectionResolved();
}
static int getAccessibilityLiveRegion(View view) {
return view.getAccessibilityLiveRegion();
}
static void setAccessibilityLiveRegion(View view, int i) {
view.setAccessibilityLiveRegion(i);
}
static void setContentChangeTypes(AccessibilityEvent accessibilityEvent, int i) {
accessibilityEvent.setContentChangeTypes(i);
}
static void notifySubtreeAccessibilityStateChanged(ViewParent viewParent, View view, View view2, int i) {
viewParent.notifySubtreeAccessibilityStateChanged(view, view2, i);
}
}
static class Api15Impl {
private Api15Impl() {
}
static boolean hasOnClickListeners(View view) {
return view.hasOnClickListeners();
}
}
static class Api24Impl {
private Api24Impl() {
}
static void setPointerIcon(View view, PointerIcon pointerIcon) {
view.setPointerIcon(pointerIcon);
}
static boolean startDragAndDrop(View view, ClipData clipData, View.DragShadowBuilder dragShadowBuilder, Object obj, int i) {
return view.startDragAndDrop(clipData, dragShadowBuilder, obj, i);
}
static void cancelDragAndDrop(View view) {
view.cancelDragAndDrop();
}
static void updateDragShadow(View view, View.DragShadowBuilder dragShadowBuilder) {
view.updateDragShadow(dragShadowBuilder);
}
static void dispatchStartTemporaryDetach(View view) {
view.dispatchStartTemporaryDetach();
}
static void dispatchFinishTemporaryDetach(View view) {
view.dispatchFinishTemporaryDetach();
}
}
static class Api17Impl {
private Api17Impl() {
}
static Display getDisplay(View view) {
return view.getDisplay();
}
static int generateViewId() {
return View.generateViewId();
}
static int getLabelFor(View view) {
return view.getLabelFor();
}
static void setLabelFor(View view, int i) {
view.setLabelFor(i);
}
static void setLayerPaint(View view, Paint paint) {
view.setLayerPaint(paint);
}
static int getLayoutDirection(View view) {
return view.getLayoutDirection();
}
static void setLayoutDirection(View view, int i) {
view.setLayoutDirection(i);
}
static int getPaddingStart(View view) {
return view.getPaddingStart();
}
static int getPaddingEnd(View view) {
return view.getPaddingEnd();
}
static void setPaddingRelative(View view, int i, int i2, int i3, int i4) {
view.setPaddingRelative(i, i2, i3, i4);
}
static boolean isPaddingRelative(View view) {
return view.isPaddingRelative();
}
}
static class Api16Impl {
private Api16Impl() {
}
static boolean hasTransientState(View view) {
return view.hasTransientState();
}
static void setHasTransientState(View view, boolean z) {
view.setHasTransientState(z);
}
static void postInvalidateOnAnimation(View view) {
view.postInvalidateOnAnimation();
}
static void postInvalidateOnAnimation(View view, int i, int i2, int i3, int i4) {
view.postInvalidateOnAnimation(i, i2, i3, i4);
}
static void postOnAnimation(View view, Runnable runnable) {
view.postOnAnimation(runnable);
}
static void postOnAnimationDelayed(View view, Runnable runnable, long j) {
view.postOnAnimationDelayed(runnable, j);
}
static int getImportantForAccessibility(View view) {
return view.getImportantForAccessibility();
}
static void setImportantForAccessibility(View view, int i) {
view.setImportantForAccessibility(i);
}
static AccessibilityNodeProvider getAccessibilityNodeProvider(View view) {
return view.getAccessibilityNodeProvider();
}
static ViewParent getParentForAccessibility(View view) {
return view.getParentForAccessibility();
}
static int getMinimumWidth(View view) {
return view.getMinimumWidth();
}
static int getMinimumHeight(View view) {
return view.getMinimumHeight();
}
static int getWindowSystemUiVisibility(View view) {
return view.getWindowSystemUiVisibility();
}
static void requestFitSystemWindows(View view) {
view.requestFitSystemWindows();
}
static boolean getFitsSystemWindows(View view) {
return view.getFitsSystemWindows();
}
static boolean performAccessibilityAction(View view, int i, Bundle bundle) {
return view.performAccessibilityAction(i, bundle);
}
static boolean hasOverlappingRendering(View view) {
return view.hasOverlappingRendering();
}
static void setBackground(View view, Drawable drawable) {
view.setBackground(drawable);
}
static void removeOnGlobalLayoutListener(ViewTreeObserver viewTreeObserver, ViewTreeObserver.OnGlobalLayoutListener onGlobalLayoutListener) {
viewTreeObserver.removeOnGlobalLayoutListener(onGlobalLayoutListener);
}
}
static class Api28Impl {
private Api28Impl() {
}
static <T> T requireViewById(View view, int i) {
return view.requireViewById(i);
}
static CharSequence getAccessibilityPaneTitle(View view) {
return view.getAccessibilityPaneTitle();
}
static void setAccessibilityPaneTitle(View view, CharSequence charSequence) {
view.setAccessibilityPaneTitle(charSequence);
}
static void setAccessibilityHeading(View view, boolean z) {
view.setAccessibilityHeading(z);
}
static boolean isAccessibilityHeading(View view) {
return view.isAccessibilityHeading();
}
static boolean isScreenReaderFocusable(View view) {
return view.isScreenReaderFocusable();
}
static void setScreenReaderFocusable(View view, boolean z) {
view.setScreenReaderFocusable(z);
}
static void addOnUnhandledKeyEventListener(View view, OnUnhandledKeyEventListenerCompat onUnhandledKeyEventListenerCompat) {
SimpleArrayMap simpleArrayMap = (SimpleArrayMap) view.getTag(R.id.tag_unhandled_key_listeners);
if (simpleArrayMap == null) {
simpleArrayMap = new SimpleArrayMap();
view.setTag(R.id.tag_unhandled_key_listeners, simpleArrayMap);
}
Objects.requireNonNull(onUnhandledKeyEventListenerCompat);
ViewCompat$Api28Impl$$ExternalSyntheticLambda0 viewCompat$Api28Impl$$ExternalSyntheticLambda0 = new ViewCompat$Api28Impl$$ExternalSyntheticLambda0(onUnhandledKeyEventListenerCompat);
simpleArrayMap.put(onUnhandledKeyEventListenerCompat, viewCompat$Api28Impl$$ExternalSyntheticLambda0);
view.addOnUnhandledKeyEventListener(viewCompat$Api28Impl$$ExternalSyntheticLambda0);
}
static void removeOnUnhandledKeyEventListener(View view, OnUnhandledKeyEventListenerCompat onUnhandledKeyEventListenerCompat) {
View.OnUnhandledKeyEventListener onUnhandledKeyEventListener;
SimpleArrayMap simpleArrayMap = (SimpleArrayMap) view.getTag(R.id.tag_unhandled_key_listeners);
if (simpleArrayMap != null && (onUnhandledKeyEventListener = (View.OnUnhandledKeyEventListener) simpleArrayMap.get(onUnhandledKeyEventListenerCompat)) != null) {
view.removeOnUnhandledKeyEventListener(onUnhandledKeyEventListener);
}
}
}
static class Api20Impl {
private Api20Impl() {
}
static void requestApplyInsets(View view) {
view.requestApplyInsets();
}
static WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
return view.onApplyWindowInsets(windowInsets);
}
static WindowInsets dispatchApplyWindowInsets(View view, WindowInsets windowInsets) {
return view.dispatchApplyWindowInsets(windowInsets);
}
}
}
Download file