CrackMe.apk
Download file
package androidx.coordinatorlayout.widget;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Region;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.util.SparseArray;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.ViewTreeObserver;
import androidx.coordinatorlayout.R;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.util.ObjectsCompat;
import androidx.core.util.Pools;
import androidx.core.view.GravityCompat;
import androidx.core.view.NestedScrollingParent2;
import androidx.core.view.NestedScrollingParent3;
import androidx.core.view.NestedScrollingParentHelper;
import androidx.core.view.OnApplyWindowInsetsListener;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.customview.view.AbsSavedState;
import com.google.android.material.badge.BadgeDrawable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.io.FilenameUtils;
public class CoordinatorLayout extends ViewGroup implements NestedScrollingParent2, NestedScrollingParent3 {
static final Class<?>[] CONSTRUCTOR_PARAMS = {Context.class, AttributeSet.class};
static final int EVENT_NESTED_SCROLL = 1;
static final int EVENT_PRE_DRAW = 0;
static final int EVENT_VIEW_REMOVED = 2;
static final String TAG = "CoordinatorLayout";
static final Comparator<View> TOP_SORTED_CHILDREN_COMPARATOR;
private static final int TYPE_ON_INTERCEPT = 0;
private static final int TYPE_ON_TOUCH = 1;
static final String WIDGET_PACKAGE_NAME;
static final ThreadLocal<Map<String, Constructor<Behavior>>> sConstructors = new ThreadLocal<>();
private static final Pools.Pool<Rect> sRectPool = new Pools.SynchronizedPool(12);
private OnApplyWindowInsetsListener mApplyWindowInsetsListener;
private final int[] mBehaviorConsumed;
private View mBehaviorTouchView;
private final DirectedAcyclicGraph<View> mChildDag;
private final List<View> mDependencySortedChildren;
private boolean mDisallowInterceptReset;
private boolean mDrawStatusBarBackground;
private boolean mIsAttachedToWindow;
private int[] mKeylines;
private WindowInsetsCompat mLastInsets;
private boolean mNeedsPreDrawListener;
private final NestedScrollingParentHelper mNestedScrollingParentHelper;
private View mNestedScrollingTarget;
private final int[] mNestedScrollingV2ConsumedCompat;
ViewGroup.OnHierarchyChangeListener mOnHierarchyChangeListener;
private OnPreDrawListener mOnPreDrawListener;
private Paint mScrimPaint;
private Drawable mStatusBarBackground;
private final List<View> mTempDependenciesList;
private final List<View> mTempList1;
public interface AttachedBehavior {
Behavior getBehavior();
}
@Deprecated
@Retention(RetentionPolicy.RUNTIME)
public @interface DefaultBehavior {
Class<? extends Behavior> value();
}
@Retention(RetentionPolicy.SOURCE)
public @interface DispatchChangeEvent {
}
private static int clamp(int i, int i2, int i3) {
return i < i2 ? i2 : i > i3 ? i3 : i;
}
private static int resolveAnchoredChildGravity(int i) {
if (i == 0) {
return 17;
}
return i;
}
private static int resolveGravity(int i) {
if ((i & 7) == 0) {
i |= GravityCompat.START;
}
return (i & 112) == 0 ? i | 48 : i;
}
private static int resolveKeylineGravity(int i) {
return i == 0 ? BadgeDrawable.TOP_END : i;
}
/* JADX DEBUG: Multi-variable search result rejected for TypeSearchVarInfo{r0v5, resolved type: java.lang.Class<?>[]} */
/* JADX WARNING: Multi-variable type inference failed */
static {
/*
java.lang.Class<androidx.coordinatorlayout.widget.CoordinatorLayout> r0 = androidx.coordinatorlayout.widget.CoordinatorLayout.class
java.lang.Package r0 = r0.getPackage()
r1 = 0
if (r0 == 0) goto L_0x000e
java.lang.String r0 = r0.getName()
goto L_0x000f
L_0x000e:
r0 = r1
L_0x000f:
WIDGET_PACKAGE_NAME = r0
int r0 = android.os.Build.VERSION.SDK_INT
r2 = 21
if (r0 < r2) goto L_0x001f
androidx.coordinatorlayout.widget.CoordinatorLayout$ViewElevationComparator r0 = new androidx.coordinatorlayout.widget.CoordinatorLayout$ViewElevationComparator
r0.<init>()
TOP_SORTED_CHILDREN_COMPARATOR = r0
goto L_0x0021
L_0x001f:
TOP_SORTED_CHILDREN_COMPARATOR = r1
L_0x0021:
r0 = 2
java.lang.Class[] r0 = new java.lang.Class[r0]
r1 = 0
java.lang.Class<android.content.Context> r2 = android.content.Context.class
r0[r1] = r2
r1 = 1
java.lang.Class<android.util.AttributeSet> r2 = android.util.AttributeSet.class
r0[r1] = r2
CONSTRUCTOR_PARAMS = r0
java.lang.ThreadLocal r0 = new java.lang.ThreadLocal
r0.<init>()
sConstructors = r0
androidx.core.util.Pools$SynchronizedPool r0 = new androidx.core.util.Pools$SynchronizedPool
r1 = 12
r0.<init>(r1)
sRectPool = r0
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.coordinatorlayout.widget.CoordinatorLayout.<clinit>():void");
}
private static Rect acquireTempRect() {
Rect acquire = sRectPool.acquire();
return acquire == null ? new Rect() : acquire;
}
private static void releaseTempRect(Rect rect) {
rect.setEmpty();
sRectPool.release(rect);
}
public CoordinatorLayout(Context context) {
this(context, (AttributeSet) null);
}
public CoordinatorLayout(Context context, AttributeSet attributeSet) {
this(context, attributeSet, R.attr.coordinatorLayoutStyle);
}
public CoordinatorLayout(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
TypedArray typedArray;
this.mDependencySortedChildren = new ArrayList();
this.mChildDag = new DirectedAcyclicGraph<>();
this.mTempList1 = new ArrayList();
this.mTempDependenciesList = new ArrayList();
this.mBehaviorConsumed = new int[2];
this.mNestedScrollingV2ConsumedCompat = new int[2];
this.mNestedScrollingParentHelper = new NestedScrollingParentHelper(this);
if (i == 0) {
typedArray = context.obtainStyledAttributes(attributeSet, R.styleable.CoordinatorLayout, 0, R.style.Widget_Support_CoordinatorLayout);
} else {
typedArray = context.obtainStyledAttributes(attributeSet, R.styleable.CoordinatorLayout, i, 0);
}
if (Build.VERSION.SDK_INT >= 29) {
if (i == 0) {
saveAttributeDataForStyleable(context, R.styleable.CoordinatorLayout, attributeSet, typedArray, 0, R.style.Widget_Support_CoordinatorLayout);
} else {
saveAttributeDataForStyleable(context, R.styleable.CoordinatorLayout, attributeSet, typedArray, i, 0);
}
}
int resourceId = typedArray.getResourceId(R.styleable.CoordinatorLayout_keylines, 0);
if (resourceId != 0) {
Resources resources = context.getResources();
this.mKeylines = resources.getIntArray(resourceId);
float f = resources.getDisplayMetrics().density;
int length = this.mKeylines.length;
for (int i2 = 0; i2 < length; i2++) {
int[] iArr = this.mKeylines;
iArr[i2] = (int) (((float) iArr[i2]) * f);
}
}
this.mStatusBarBackground = typedArray.getDrawable(R.styleable.CoordinatorLayout_statusBarBackground);
typedArray.recycle();
setupForInsets();
super.setOnHierarchyChangeListener(new HierarchyChangeListener());
if (ViewCompat.getImportantForAccessibility(this) == 0) {
ViewCompat.setImportantForAccessibility(this, 1);
}
}
public void setOnHierarchyChangeListener(ViewGroup.OnHierarchyChangeListener onHierarchyChangeListener) {
this.mOnHierarchyChangeListener = onHierarchyChangeListener;
}
public void onAttachedToWindow() {
super.onAttachedToWindow();
resetTouchBehaviors(false);
if (this.mNeedsPreDrawListener) {
if (this.mOnPreDrawListener == null) {
this.mOnPreDrawListener = new OnPreDrawListener();
}
getViewTreeObserver().addOnPreDrawListener(this.mOnPreDrawListener);
}
if (this.mLastInsets == null && ViewCompat.getFitsSystemWindows(this)) {
ViewCompat.requestApplyInsets(this);
}
this.mIsAttachedToWindow = true;
}
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
resetTouchBehaviors(false);
if (this.mNeedsPreDrawListener && this.mOnPreDrawListener != null) {
getViewTreeObserver().removeOnPreDrawListener(this.mOnPreDrawListener);
}
View view = this.mNestedScrollingTarget;
if (view != null) {
onStopNestedScroll(view);
}
this.mIsAttachedToWindow = false;
}
public void setStatusBarBackground(Drawable drawable) {
Drawable drawable2 = this.mStatusBarBackground;
if (drawable2 != drawable) {
Drawable drawable3 = null;
if (drawable2 != null) {
drawable2.setCallback((Drawable.Callback) null);
}
if (drawable != null) {
drawable3 = drawable.mutate();
}
this.mStatusBarBackground = drawable3;
if (drawable3 != null) {
if (drawable3.isStateful()) {
this.mStatusBarBackground.setState(getDrawableState());
}
DrawableCompat.setLayoutDirection(this.mStatusBarBackground, ViewCompat.getLayoutDirection(this));
this.mStatusBarBackground.setVisible(getVisibility() == 0, false);
this.mStatusBarBackground.setCallback(this);
}
ViewCompat.postInvalidateOnAnimation(this);
}
}
public Drawable getStatusBarBackground() {
return this.mStatusBarBackground;
}
/* access modifiers changed from: protected */
public void drawableStateChanged() {
super.drawableStateChanged();
int[] drawableState = getDrawableState();
Drawable drawable = this.mStatusBarBackground;
boolean z = false;
if (drawable != null && drawable.isStateful()) {
z = false | drawable.setState(drawableState);
}
if (z) {
invalidate();
}
}
/* access modifiers changed from: protected */
public boolean verifyDrawable(Drawable drawable) {
return super.verifyDrawable(drawable) || drawable == this.mStatusBarBackground;
}
public void setVisibility(int i) {
super.setVisibility(i);
boolean z = i == 0;
Drawable drawable = this.mStatusBarBackground;
if (drawable != null && drawable.isVisible() != z) {
this.mStatusBarBackground.setVisible(z, false);
}
}
public void setStatusBarBackgroundResource(int i) {
setStatusBarBackground(i != 0 ? ContextCompat.getDrawable(getContext(), i) : null);
}
public void setStatusBarBackgroundColor(int i) {
setStatusBarBackground(new ColorDrawable(i));
}
/* access modifiers changed from: package-private */
public final WindowInsetsCompat setWindowInsets(WindowInsetsCompat windowInsetsCompat) {
if (ObjectsCompat.equals(this.mLastInsets, windowInsetsCompat)) {
return windowInsetsCompat;
}
this.mLastInsets = windowInsetsCompat;
boolean z = true;
boolean z2 = windowInsetsCompat != null && windowInsetsCompat.getSystemWindowInsetTop() > 0;
this.mDrawStatusBarBackground = z2;
if (z2 || getBackground() != null) {
z = false;
}
setWillNotDraw(z);
WindowInsetsCompat dispatchApplyWindowInsetsToBehaviors = dispatchApplyWindowInsetsToBehaviors(windowInsetsCompat);
requestLayout();
return dispatchApplyWindowInsetsToBehaviors;
}
public final WindowInsetsCompat getLastWindowInsets() {
return this.mLastInsets;
}
private void resetTouchBehaviors(boolean z) {
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
Behavior behavior = ((LayoutParams) childAt.getLayoutParams()).getBehavior();
if (behavior != null) {
long uptimeMillis = SystemClock.uptimeMillis();
MotionEvent obtain = MotionEvent.obtain(uptimeMillis, uptimeMillis, 3, 0.0f, 0.0f, 0);
if (z) {
behavior.onInterceptTouchEvent(this, childAt, obtain);
} else {
behavior.onTouchEvent(this, childAt, obtain);
}
obtain.recycle();
}
}
for (int i2 = 0; i2 < childCount; i2++) {
((LayoutParams) getChildAt(i2).getLayoutParams()).resetTouchBehaviorTracking();
}
this.mBehaviorTouchView = null;
this.mDisallowInterceptReset = false;
}
private void getTopSortedChildren(List<View> list) {
list.clear();
boolean isChildrenDrawingOrderEnabled = isChildrenDrawingOrderEnabled();
int childCount = getChildCount();
for (int i = childCount - 1; i >= 0; i--) {
list.add(getChildAt(isChildrenDrawingOrderEnabled ? getChildDrawingOrder(childCount, i) : i));
}
Comparator<View> comparator = TOP_SORTED_CHILDREN_COMPARATOR;
if (comparator != null) {
Collections.sort(list, comparator);
}
}
private boolean performIntercept(MotionEvent motionEvent, int i) {
MotionEvent motionEvent2 = motionEvent;
int i2 = i;
int actionMasked = motionEvent.getActionMasked();
List<View> list = this.mTempList1;
getTopSortedChildren(list);
int size = list.size();
MotionEvent motionEvent3 = null;
boolean z = false;
boolean z2 = false;
for (int i3 = 0; i3 < size; i3++) {
View view = list.get(i3);
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
Behavior behavior = layoutParams.getBehavior();
if ((!z && !z2) || actionMasked == 0) {
if (!z && behavior != null) {
if (i2 == 0) {
z = behavior.onInterceptTouchEvent(this, view, motionEvent2);
} else if (i2 == 1) {
z = behavior.onTouchEvent(this, view, motionEvent2);
}
if (z) {
this.mBehaviorTouchView = view;
}
}
boolean didBlockInteraction = layoutParams.didBlockInteraction();
boolean isBlockingInteractionBelow = layoutParams.isBlockingInteractionBelow(this, view);
z2 = isBlockingInteractionBelow && !didBlockInteraction;
if (isBlockingInteractionBelow && !z2) {
break;
}
} else if (behavior != null) {
if (motionEvent3 == null) {
long uptimeMillis = SystemClock.uptimeMillis();
motionEvent3 = MotionEvent.obtain(uptimeMillis, uptimeMillis, 3, 0.0f, 0.0f, 0);
}
if (i2 == 0) {
behavior.onInterceptTouchEvent(this, view, motionEvent3);
} else if (i2 == 1) {
behavior.onTouchEvent(this, view, motionEvent3);
}
}
}
list.clear();
return z;
}
public boolean onInterceptTouchEvent(MotionEvent motionEvent) {
int actionMasked = motionEvent.getActionMasked();
if (actionMasked == 0) {
resetTouchBehaviors(true);
}
boolean performIntercept = performIntercept(motionEvent, 0);
if (actionMasked == 1 || actionMasked == 3) {
resetTouchBehaviors(true);
}
return performIntercept;
}
/* JADX WARNING: Code restructure failed: missing block: B:3:0x0012, code lost:
if (r3 != false) goto L_0x0016;
*/
/* JADX WARNING: Removed duplicated region for block: B:11:0x0031 */
/* JADX WARNING: Removed duplicated region for block: B:12:0x0037 */
/* JADX WARNING: Removed duplicated region for block: B:15:0x004c */
/* Code decompiled incorrectly, please refer to instructions dump. */
public boolean onTouchEvent(android.view.MotionEvent r18) {
/*
r17 = this;
r0 = r17
r1 = r18
int r2 = r18.getActionMasked()
android.view.View r3 = r0.mBehaviorTouchView
r4 = 1
r5 = 0
if (r3 != 0) goto L_0x0015
boolean r3 = r0.performIntercept(r1, r4)
if (r3 == 0) goto L_0x002b
goto L_0x0016
L_0x0015:
r3 = 0
L_0x0016:
android.view.View r6 = r0.mBehaviorTouchView
android.view.ViewGroup$LayoutParams r6 = r6.getLayoutParams()
androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams r6 = (androidx.coordinatorlayout.widget.CoordinatorLayout.LayoutParams) r6
androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior r6 = r6.getBehavior()
if (r6 == 0) goto L_0x002b
android.view.View r7 = r0.mBehaviorTouchView
boolean r6 = r6.onTouchEvent(r0, r7, r1)
goto L_0x002c
L_0x002b:
r6 = 0
L_0x002c:
android.view.View r7 = r0.mBehaviorTouchView
r8 = 0
if (r7 != 0) goto L_0x0037
boolean r1 = super.onTouchEvent(r18)
r6 = r6 | r1
goto L_0x004a
L_0x0037:
if (r3 == 0) goto L_0x004a
long r11 = android.os.SystemClock.uptimeMillis()
r13 = 3
r14 = 0
r15 = 0
r16 = 0
r9 = r11
android.view.MotionEvent r8 = android.view.MotionEvent.obtain(r9, r11, r13, r14, r15, r16)
super.onTouchEvent(r8)
L_0x004a:
if (r8 == 0) goto L_0x004f
r8.recycle()
L_0x004f:
if (r2 == r4) goto L_0x0054
r1 = 3
if (r2 != r1) goto L_0x0057
L_0x0054:
r0.resetTouchBehaviors(r5)
L_0x0057:
return r6
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.coordinatorlayout.widget.CoordinatorLayout.onTouchEvent(android.view.MotionEvent):boolean");
}
public void requestDisallowInterceptTouchEvent(boolean z) {
super.requestDisallowInterceptTouchEvent(z);
if (z && !this.mDisallowInterceptReset) {
resetTouchBehaviors(false);
this.mDisallowInterceptReset = true;
}
}
private int getKeyline(int i) {
int[] iArr = this.mKeylines;
if (iArr == null) {
Log.e(TAG, "No keylines defined for " + this + " - attempted index lookup " + i);
return 0;
} else if (i >= 0 && i < iArr.length) {
return iArr[i];
} else {
Log.e(TAG, "Keyline index " + i + " out of range for " + this);
return 0;
}
}
static Behavior parseBehavior(Context context, AttributeSet attributeSet, String str) {
if (TextUtils.isEmpty(str)) {
return null;
}
if (str.startsWith(".")) {
str = context.getPackageName() + str;
} else if (str.indexOf(46) < 0) {
String str2 = WIDGET_PACKAGE_NAME;
if (!TextUtils.isEmpty(str2)) {
str = str2 + FilenameUtils.EXTENSION_SEPARATOR + str;
}
}
try {
ThreadLocal<Map<String, Constructor<Behavior>>> threadLocal = sConstructors;
Map map = threadLocal.get();
if (map == null) {
map = new HashMap();
threadLocal.set(map);
}
Constructor<?> constructor = (Constructor) map.get(str);
if (constructor == null) {
constructor = Class.forName(str, false, context.getClassLoader()).getConstructor(CONSTRUCTOR_PARAMS);
constructor.setAccessible(true);
map.put(str, constructor);
}
return (Behavior) constructor.newInstance(new Object[]{context, attributeSet});
} catch (Exception e) {
throw new RuntimeException("Could not inflate Behavior subclass " + str, e);
}
}
/* access modifiers changed from: package-private */
public LayoutParams getResolvedLayoutParams(View view) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (!layoutParams.mBehaviorResolved) {
if (view instanceof AttachedBehavior) {
Behavior behavior = ((AttachedBehavior) view).getBehavior();
if (behavior == null) {
Log.e(TAG, "Attached behavior class is null");
}
layoutParams.setBehavior(behavior);
layoutParams.mBehaviorResolved = true;
} else {
DefaultBehavior defaultBehavior = null;
for (Class cls = view.getClass(); cls != null; cls = cls.getSuperclass()) {
defaultBehavior = (DefaultBehavior) cls.getAnnotation(DefaultBehavior.class);
if (defaultBehavior != null) {
break;
}
}
if (defaultBehavior != null) {
try {
layoutParams.setBehavior((Behavior) defaultBehavior.value().getDeclaredConstructor(new Class[0]).newInstance(new Object[0]));
} catch (Exception e) {
Log.e(TAG, "Default behavior class " + defaultBehavior.value().getName() + " could not be instantiated. Did you forget a default constructor?", e);
}
}
layoutParams.mBehaviorResolved = true;
}
}
return layoutParams;
}
private void prepareChildren() {
this.mDependencySortedChildren.clear();
this.mChildDag.clear();
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
LayoutParams resolvedLayoutParams = getResolvedLayoutParams(childAt);
resolvedLayoutParams.findAnchorView(this, childAt);
this.mChildDag.addNode(childAt);
for (int i2 = 0; i2 < childCount; i2++) {
if (i2 != i) {
View childAt2 = getChildAt(i2);
if (resolvedLayoutParams.dependsOn(this, childAt, childAt2)) {
if (!this.mChildDag.contains(childAt2)) {
this.mChildDag.addNode(childAt2);
}
this.mChildDag.addEdge(childAt2, childAt);
}
}
}
}
this.mDependencySortedChildren.addAll(this.mChildDag.getSortedList());
Collections.reverse(this.mDependencySortedChildren);
}
/* access modifiers changed from: package-private */
public void getDescendantRect(View view, Rect rect) {
ViewGroupUtils.getDescendantRect(this, view, rect);
}
/* access modifiers changed from: protected */
public int getSuggestedMinimumWidth() {
return Math.max(super.getSuggestedMinimumWidth(), getPaddingLeft() + getPaddingRight());
}
/* access modifiers changed from: protected */
public int getSuggestedMinimumHeight() {
return Math.max(super.getSuggestedMinimumHeight(), getPaddingTop() + getPaddingBottom());
}
public void onMeasureChild(View view, int i, int i2, int i3, int i4) {
measureChildWithMargins(view, i, i2, i3, i4);
}
/* access modifiers changed from: protected */
/* JADX WARNING: Code restructure failed: missing block: B:41:0x011c, code lost:
if (r0.onMeasureChild(r30, r20, r11, r21, r23, 0) == false) goto L_0x012c;
*/
/* JADX WARNING: Removed duplicated region for block: B:36:0x00c9 */
/* JADX WARNING: Removed duplicated region for block: B:37:0x00f3 */
/* JADX WARNING: Removed duplicated region for block: B:40:0x00fd */
/* JADX WARNING: Removed duplicated region for block: B:42:0x011f */
/* Code decompiled incorrectly, please refer to instructions dump. */
public void onMeasure(int r31, int r32) {
/*
r30 = this;
r7 = r30
r30.prepareChildren()
r30.ensurePreDrawListener()
int r8 = r30.getPaddingLeft()
int r0 = r30.getPaddingTop()
int r9 = r30.getPaddingRight()
int r1 = r30.getPaddingBottom()
int r10 = androidx.core.view.ViewCompat.getLayoutDirection(r30)
r2 = 1
if (r10 != r2) goto L_0x0021
r12 = 1
goto L_0x0022
L_0x0021:
r12 = 0
L_0x0022:
int r13 = android.view.View.MeasureSpec.getMode(r31)
int r14 = android.view.View.MeasureSpec.getSize(r31)
int r15 = android.view.View.MeasureSpec.getMode(r32)
int r16 = android.view.View.MeasureSpec.getSize(r32)
int r17 = r8 + r9
int r18 = r0 + r1
int r0 = r30.getSuggestedMinimumWidth()
int r1 = r30.getSuggestedMinimumHeight()
androidx.core.view.WindowInsetsCompat r3 = r7.mLastInsets
if (r3 == 0) goto L_0x004b
boolean r3 = androidx.core.view.ViewCompat.getFitsSystemWindows(r30)
if (r3 == 0) goto L_0x004b
r19 = 1
goto L_0x004d
L_0x004b:
r19 = 0
L_0x004d:
java.util.List<android.view.View> r2 = r7.mDependencySortedChildren
int r6 = r2.size()
r5 = r0
r4 = r1
r2 = 0
r3 = 0
L_0x0057:
if (r3 >= r6) goto L_0x0171
java.util.List<android.view.View> r0 = r7.mDependencySortedChildren
java.lang.Object r0 = r0.get(r3)
r20 = r0
android.view.View r20 = (android.view.View) r20
int r0 = r20.getVisibility()
r1 = 8
if (r0 != r1) goto L_0x0073
r22 = r3
r29 = r6
r28 = r8
goto L_0x0169
L_0x0073:
android.view.ViewGroup$LayoutParams r0 = r20.getLayoutParams()
r1 = r0
androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams r1 = (androidx.coordinatorlayout.widget.CoordinatorLayout.LayoutParams) r1
int r0 = r1.keyline
if (r0 < 0) goto L_0x00bc
if (r13 == 0) goto L_0x00bc
int r0 = r1.keyline
int r0 = r7.getKeyline(r0)
int r11 = r1.gravity
int r11 = resolveKeylineGravity(r11)
int r11 = androidx.core.view.GravityCompat.getAbsoluteGravity(r11, r10)
r11 = r11 & 7
r22 = r2
r2 = 3
if (r11 != r2) goto L_0x0099
if (r12 == 0) goto L_0x009e
L_0x0099:
r2 = 5
if (r11 != r2) goto L_0x00aa
if (r12 == 0) goto L_0x00aa
L_0x009e:
int r2 = r14 - r9
int r2 = r2 - r0
r0 = 0
int r2 = java.lang.Math.max(r0, r2)
r21 = r2
r11 = 0
goto L_0x00c1
L_0x00aa:
if (r11 != r2) goto L_0x00ae
if (r12 == 0) goto L_0x00b3
L_0x00ae:
r2 = 3
if (r11 != r2) goto L_0x00be
if (r12 == 0) goto L_0x00be
L_0x00b3:
int r0 = r0 - r8
r11 = 0
int r0 = java.lang.Math.max(r11, r0)
r21 = r0
goto L_0x00c1
L_0x00bc:
r22 = r2
L_0x00be:
r11 = 0
r21 = 0
L_0x00c1:
if (r19 == 0) goto L_0x00f3
boolean r0 = androidx.core.view.ViewCompat.getFitsSystemWindows(r20)
if (r0 != 0) goto L_0x00f3
androidx.core.view.WindowInsetsCompat r0 = r7.mLastInsets
int r0 = r0.getSystemWindowInsetLeft()
androidx.core.view.WindowInsetsCompat r2 = r7.mLastInsets
int r2 = r2.getSystemWindowInsetRight()
int r0 = r0 + r2
androidx.core.view.WindowInsetsCompat r2 = r7.mLastInsets
int r2 = r2.getSystemWindowInsetTop()
androidx.core.view.WindowInsetsCompat r11 = r7.mLastInsets
int r11 = r11.getSystemWindowInsetBottom()
int r2 = r2 + r11
int r0 = r14 - r0
int r0 = android.view.View.MeasureSpec.makeMeasureSpec(r0, r13)
int r2 = r16 - r2
int r2 = android.view.View.MeasureSpec.makeMeasureSpec(r2, r15)
r11 = r0
r23 = r2
goto L_0x00f7
L_0x00f3:
r11 = r31
r23 = r32
L_0x00f7:
androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior r0 = r1.getBehavior()
if (r0 == 0) goto L_0x011f
r24 = 0
r2 = r1
r1 = r30
r26 = r2
r25 = r22
r2 = r20
r22 = r3
r3 = r11
r27 = r4
r4 = r21
r28 = r8
r8 = r5
r5 = r23
r29 = r6
r6 = r24
boolean r0 = r0.onMeasureChild(r1, r2, r3, r4, r5, r6)
if (r0 != 0) goto L_0x0139
goto L_0x012c
L_0x011f:
r26 = r1
r27 = r4
r29 = r6
r28 = r8
r25 = r22
r22 = r3
r8 = r5
L_0x012c:
r5 = 0
r0 = r30
r1 = r20
r2 = r11
r3 = r21
r4 = r23
r0.onMeasureChild(r1, r2, r3, r4, r5)
L_0x0139:
int r0 = r20.getMeasuredWidth()
int r0 = r17 + r0
r1 = r26
int r2 = r1.leftMargin
int r0 = r0 + r2
int r2 = r1.rightMargin
int r0 = r0 + r2
int r0 = java.lang.Math.max(r8, r0)
int r2 = r20.getMeasuredHeight()
int r2 = r18 + r2
int r3 = r1.topMargin
int r2 = r2 + r3
int r1 = r1.bottomMargin
int r2 = r2 + r1
r1 = r27
int r1 = java.lang.Math.max(r1, r2)
int r2 = r20.getMeasuredState()
r11 = r25
int r2 = android.view.View.combineMeasuredStates(r11, r2)
r5 = r0
r4 = r1
L_0x0169:
int r3 = r22 + 1
r8 = r28
r6 = r29
goto L_0x0057
L_0x0171:
r11 = r2
r1 = r4
r8 = r5
r0 = -16777216(0xffffffffff000000, float:-1.7014118E38)
r0 = r0 & r11
r2 = r31
int r0 = android.view.View.resolveSizeAndState(r8, r2, r0)
int r2 = r11 << 16
r3 = r32
int r1 = android.view.View.resolveSizeAndState(r1, r3, r2)
r7.setMeasuredDimension(r0, r1)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(int, int):void");
}
private WindowInsetsCompat dispatchApplyWindowInsetsToBehaviors(WindowInsetsCompat windowInsetsCompat) {
Behavior behavior;
if (windowInsetsCompat.isConsumed()) {
return windowInsetsCompat;
}
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
if (ViewCompat.getFitsSystemWindows(childAt) && (behavior = ((LayoutParams) childAt.getLayoutParams()).getBehavior()) != null) {
windowInsetsCompat = behavior.onApplyWindowInsets(this, childAt, windowInsetsCompat);
if (windowInsetsCompat.isConsumed()) {
break;
}
}
}
return windowInsetsCompat;
}
public void onLayoutChild(View view, int i) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (layoutParams.checkAnchorChanged()) {
throw new IllegalStateException("An anchor may not be changed after CoordinatorLayout measurement begins before layout is complete.");
} else if (layoutParams.mAnchorView != null) {
layoutChildWithAnchor(view, layoutParams.mAnchorView, i);
} else if (layoutParams.keyline >= 0) {
layoutChildWithKeyline(view, layoutParams.keyline, i);
} else {
layoutChild(view, i);
}
}
/* access modifiers changed from: protected */
public void onLayout(boolean z, int i, int i2, int i3, int i4) {
Behavior behavior;
int layoutDirection = ViewCompat.getLayoutDirection(this);
int size = this.mDependencySortedChildren.size();
for (int i5 = 0; i5 < size; i5++) {
View view = this.mDependencySortedChildren.get(i5);
if (view.getVisibility() != 8 && ((behavior = ((LayoutParams) view.getLayoutParams()).getBehavior()) == null || !behavior.onLayoutChild(this, view, layoutDirection))) {
onLayoutChild(view, layoutDirection);
}
}
}
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (this.mDrawStatusBarBackground && this.mStatusBarBackground != null) {
WindowInsetsCompat windowInsetsCompat = this.mLastInsets;
int systemWindowInsetTop = windowInsetsCompat != null ? windowInsetsCompat.getSystemWindowInsetTop() : 0;
if (systemWindowInsetTop > 0) {
this.mStatusBarBackground.setBounds(0, 0, getWidth(), systemWindowInsetTop);
this.mStatusBarBackground.draw(canvas);
}
}
}
public void setFitsSystemWindows(boolean z) {
super.setFitsSystemWindows(z);
setupForInsets();
}
/* access modifiers changed from: package-private */
public void recordLastChildRect(View view, Rect rect) {
((LayoutParams) view.getLayoutParams()).setLastChildRect(rect);
}
/* access modifiers changed from: package-private */
public void getLastChildRect(View view, Rect rect) {
rect.set(((LayoutParams) view.getLayoutParams()).getLastChildRect());
}
/* access modifiers changed from: package-private */
public void getChildRect(View view, boolean z, Rect rect) {
if (view.isLayoutRequested() || view.getVisibility() == 8) {
rect.setEmpty();
} else if (z) {
getDescendantRect(view, rect);
} else {
rect.set(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
}
}
private void getDesiredAnchoredChildRectWithoutConstraints(View view, int i, Rect rect, Rect rect2, LayoutParams layoutParams, int i2, int i3) {
int i4;
int i5;
int absoluteGravity = GravityCompat.getAbsoluteGravity(resolveAnchoredChildGravity(layoutParams.gravity), i);
int absoluteGravity2 = GravityCompat.getAbsoluteGravity(resolveGravity(layoutParams.anchorGravity), i);
int i6 = absoluteGravity & 7;
int i7 = absoluteGravity & 112;
int i8 = absoluteGravity2 & 7;
int i9 = absoluteGravity2 & 112;
if (i8 == 1) {
i4 = rect.left + (rect.width() / 2);
} else if (i8 != 5) {
i4 = rect.left;
} else {
i4 = rect.right;
}
if (i9 == 16) {
i5 = rect.top + (rect.height() / 2);
} else if (i9 != 80) {
i5 = rect.top;
} else {
i5 = rect.bottom;
}
if (i6 == 1) {
i4 -= i2 / 2;
} else if (i6 != 5) {
i4 -= i2;
}
if (i7 == 16) {
i5 -= i3 / 2;
} else if (i7 != 80) {
i5 -= i3;
}
rect2.set(i4, i5, i2 + i4, i3 + i5);
}
private void constrainChildRect(LayoutParams layoutParams, Rect rect, int i, int i2) {
int width = getWidth();
int height = getHeight();
int max = Math.max(getPaddingLeft() + layoutParams.leftMargin, Math.min(rect.left, ((width - getPaddingRight()) - i) - layoutParams.rightMargin));
int max2 = Math.max(getPaddingTop() + layoutParams.topMargin, Math.min(rect.top, ((height - getPaddingBottom()) - i2) - layoutParams.bottomMargin));
rect.set(max, max2, i + max, i2 + max2);
}
/* access modifiers changed from: package-private */
public void getDesiredAnchoredChildRect(View view, int i, Rect rect, Rect rect2) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
int measuredWidth = view.getMeasuredWidth();
int measuredHeight = view.getMeasuredHeight();
getDesiredAnchoredChildRectWithoutConstraints(view, i, rect, rect2, layoutParams, measuredWidth, measuredHeight);
constrainChildRect(layoutParams, rect2, measuredWidth, measuredHeight);
}
private void layoutChildWithAnchor(View view, View view2, int i) {
Rect acquireTempRect = acquireTempRect();
Rect acquireTempRect2 = acquireTempRect();
try {
getDescendantRect(view2, acquireTempRect);
getDesiredAnchoredChildRect(view, i, acquireTempRect, acquireTempRect2);
view.layout(acquireTempRect2.left, acquireTempRect2.top, acquireTempRect2.right, acquireTempRect2.bottom);
} finally {
releaseTempRect(acquireTempRect);
releaseTempRect(acquireTempRect2);
}
}
private void layoutChildWithKeyline(View view, int i, int i2) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
int absoluteGravity = GravityCompat.getAbsoluteGravity(resolveKeylineGravity(layoutParams.gravity), i2);
int i3 = absoluteGravity & 7;
int i4 = absoluteGravity & 112;
int width = getWidth();
int height = getHeight();
int measuredWidth = view.getMeasuredWidth();
int measuredHeight = view.getMeasuredHeight();
if (i2 == 1) {
i = width - i;
}
int keyline = getKeyline(i) - measuredWidth;
int i5 = 0;
if (i3 == 1) {
keyline += measuredWidth / 2;
} else if (i3 == 5) {
keyline += measuredWidth;
}
if (i4 == 16) {
i5 = 0 + (measuredHeight / 2);
} else if (i4 == 80) {
i5 = measuredHeight + 0;
}
int max = Math.max(getPaddingLeft() + layoutParams.leftMargin, Math.min(keyline, ((width - getPaddingRight()) - measuredWidth) - layoutParams.rightMargin));
int max2 = Math.max(getPaddingTop() + layoutParams.topMargin, Math.min(i5, ((height - getPaddingBottom()) - measuredHeight) - layoutParams.bottomMargin));
view.layout(max, max2, measuredWidth + max, measuredHeight + max2);
}
private void layoutChild(View view, int i) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
Rect acquireTempRect = acquireTempRect();
acquireTempRect.set(getPaddingLeft() + layoutParams.leftMargin, getPaddingTop() + layoutParams.topMargin, (getWidth() - getPaddingRight()) - layoutParams.rightMargin, (getHeight() - getPaddingBottom()) - layoutParams.bottomMargin);
if (this.mLastInsets != null && ViewCompat.getFitsSystemWindows(this) && !ViewCompat.getFitsSystemWindows(view)) {
acquireTempRect.left += this.mLastInsets.getSystemWindowInsetLeft();
acquireTempRect.top += this.mLastInsets.getSystemWindowInsetTop();
acquireTempRect.right -= this.mLastInsets.getSystemWindowInsetRight();
acquireTempRect.bottom -= this.mLastInsets.getSystemWindowInsetBottom();
}
Rect acquireTempRect2 = acquireTempRect();
GravityCompat.apply(resolveGravity(layoutParams.gravity), view.getMeasuredWidth(), view.getMeasuredHeight(), acquireTempRect, acquireTempRect2, i);
view.layout(acquireTempRect2.left, acquireTempRect2.top, acquireTempRect2.right, acquireTempRect2.bottom);
releaseTempRect(acquireTempRect);
releaseTempRect(acquireTempRect2);
}
/* access modifiers changed from: protected */
public boolean drawChild(Canvas canvas, View view, long j) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (layoutParams.mBehavior != null) {
float scrimOpacity = layoutParams.mBehavior.getScrimOpacity(this, view);
if (scrimOpacity > 0.0f) {
if (this.mScrimPaint == null) {
this.mScrimPaint = new Paint();
}
this.mScrimPaint.setColor(layoutParams.mBehavior.getScrimColor(this, view));
this.mScrimPaint.setAlpha(clamp(Math.round(scrimOpacity * 255.0f), 0, 255));
int save = canvas.save();
if (view.isOpaque()) {
canvas.clipRect((float) view.getLeft(), (float) view.getTop(), (float) view.getRight(), (float) view.getBottom(), Region.Op.DIFFERENCE);
}
canvas.drawRect((float) getPaddingLeft(), (float) getPaddingTop(), (float) (getWidth() - getPaddingRight()), (float) (getHeight() - getPaddingBottom()), this.mScrimPaint);
canvas.restoreToCount(save);
}
}
return super.drawChild(canvas, view, j);
}
/* access modifiers changed from: package-private */
public final void onChildViewsChanged(int i) {
boolean z;
int i2 = i;
int layoutDirection = ViewCompat.getLayoutDirection(this);
int size = this.mDependencySortedChildren.size();
Rect acquireTempRect = acquireTempRect();
Rect acquireTempRect2 = acquireTempRect();
Rect acquireTempRect3 = acquireTempRect();
for (int i3 = 0; i3 < size; i3++) {
View view = this.mDependencySortedChildren.get(i3);
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (i2 != 0 || view.getVisibility() != 8) {
for (int i4 = 0; i4 < i3; i4++) {
if (layoutParams.mAnchorDirectChild == this.mDependencySortedChildren.get(i4)) {
offsetChildToAnchor(view, layoutDirection);
}
}
getChildRect(view, true, acquireTempRect2);
if (layoutParams.insetEdge != 0 && !acquireTempRect2.isEmpty()) {
int absoluteGravity = GravityCompat.getAbsoluteGravity(layoutParams.insetEdge, layoutDirection);
int i5 = absoluteGravity & 112;
if (i5 == 48) {
acquireTempRect.top = Math.max(acquireTempRect.top, acquireTempRect2.bottom);
} else if (i5 == 80) {
acquireTempRect.bottom = Math.max(acquireTempRect.bottom, getHeight() - acquireTempRect2.top);
}
int i6 = absoluteGravity & 7;
if (i6 == 3) {
acquireTempRect.left = Math.max(acquireTempRect.left, acquireTempRect2.right);
} else if (i6 == 5) {
acquireTempRect.right = Math.max(acquireTempRect.right, getWidth() - acquireTempRect2.left);
}
}
if (layoutParams.dodgeInsetEdges != 0 && view.getVisibility() == 0) {
offsetChildByInset(view, acquireTempRect, layoutDirection);
}
if (i2 != 2) {
getLastChildRect(view, acquireTempRect3);
if (!acquireTempRect3.equals(acquireTempRect2)) {
recordLastChildRect(view, acquireTempRect2);
}
}
for (int i7 = i3 + 1; i7 < size; i7++) {
View view2 = this.mDependencySortedChildren.get(i7);
LayoutParams layoutParams2 = (LayoutParams) view2.getLayoutParams();
Behavior behavior = layoutParams2.getBehavior();
if (behavior != null && behavior.layoutDependsOn(this, view2, view)) {
if (i2 != 0 || !layoutParams2.getChangedAfterNestedScroll()) {
if (i2 != 2) {
z = behavior.onDependentViewChanged(this, view2, view);
} else {
behavior.onDependentViewRemoved(this, view2, view);
z = true;
}
if (i2 == 1) {
layoutParams2.setChangedAfterNestedScroll(z);
}
} else {
layoutParams2.resetChangedAfterNestedScroll();
}
}
}
}
}
releaseTempRect(acquireTempRect);
releaseTempRect(acquireTempRect2);
releaseTempRect(acquireTempRect3);
}
private void offsetChildByInset(View view, Rect rect, int i) {
boolean z;
boolean z2;
int width;
int i2;
int height;
int i3;
if (ViewCompat.isLaidOut(view) && view.getWidth() > 0 && view.getHeight() > 0) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
Behavior behavior = layoutParams.getBehavior();
Rect acquireTempRect = acquireTempRect();
Rect acquireTempRect2 = acquireTempRect();
acquireTempRect2.set(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
if (behavior == null || !behavior.getInsetDodgeRect(this, view, acquireTempRect)) {
acquireTempRect.set(acquireTempRect2);
} else if (!acquireTempRect2.contains(acquireTempRect)) {
throw new IllegalArgumentException("Rect should be within the child's bounds. Rect:" + acquireTempRect.toShortString() + " | Bounds:" + acquireTempRect2.toShortString());
}
releaseTempRect(acquireTempRect2);
if (acquireTempRect.isEmpty()) {
releaseTempRect(acquireTempRect);
return;
}
int absoluteGravity = GravityCompat.getAbsoluteGravity(layoutParams.dodgeInsetEdges, i);
boolean z3 = true;
if ((absoluteGravity & 48) != 48 || (i3 = (acquireTempRect.top - layoutParams.topMargin) - layoutParams.mInsetOffsetY) >= rect.top) {
z = false;
} else {
setInsetOffsetY(view, rect.top - i3);
z = true;
}
if ((absoluteGravity & 80) == 80 && (height = ((getHeight() - acquireTempRect.bottom) - layoutParams.bottomMargin) + layoutParams.mInsetOffsetY) < rect.bottom) {
setInsetOffsetY(view, height - rect.bottom);
z = true;
}
if (!z) {
setInsetOffsetY(view, 0);
}
if ((absoluteGravity & 3) != 3 || (i2 = (acquireTempRect.left - layoutParams.leftMargin) - layoutParams.mInsetOffsetX) >= rect.left) {
z2 = false;
} else {
setInsetOffsetX(view, rect.left - i2);
z2 = true;
}
if ((absoluteGravity & 5) != 5 || (width = ((getWidth() - acquireTempRect.right) - layoutParams.rightMargin) + layoutParams.mInsetOffsetX) >= rect.right) {
z3 = z2;
} else {
setInsetOffsetX(view, width - rect.right);
}
if (!z3) {
setInsetOffsetX(view, 0);
}
releaseTempRect(acquireTempRect);
}
}
private void setInsetOffsetX(View view, int i) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (layoutParams.mInsetOffsetX != i) {
ViewCompat.offsetLeftAndRight(view, i - layoutParams.mInsetOffsetX);
layoutParams.mInsetOffsetX = i;
}
}
private void setInsetOffsetY(View view, int i) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (layoutParams.mInsetOffsetY != i) {
ViewCompat.offsetTopAndBottom(view, i - layoutParams.mInsetOffsetY);
layoutParams.mInsetOffsetY = i;
}
}
public void dispatchDependentViewsChanged(View view) {
List incomingEdges = this.mChildDag.getIncomingEdges(view);
if (incomingEdges != null && !incomingEdges.isEmpty()) {
for (int i = 0; i < incomingEdges.size(); i++) {
View view2 = (View) incomingEdges.get(i);
Behavior behavior = ((LayoutParams) view2.getLayoutParams()).getBehavior();
if (behavior != null) {
behavior.onDependentViewChanged(this, view2, view);
}
}
}
}
public List<View> getDependencies(View view) {
List<View> outgoingEdges = this.mChildDag.getOutgoingEdges(view);
this.mTempDependenciesList.clear();
if (outgoingEdges != null) {
this.mTempDependenciesList.addAll(outgoingEdges);
}
return this.mTempDependenciesList;
}
public List<View> getDependents(View view) {
List incomingEdges = this.mChildDag.getIncomingEdges(view);
this.mTempDependenciesList.clear();
if (incomingEdges != null) {
this.mTempDependenciesList.addAll(incomingEdges);
}
return this.mTempDependenciesList;
}
/* access modifiers changed from: package-private */
public final List<View> getDependencySortedChildren() {
prepareChildren();
return Collections.unmodifiableList(this.mDependencySortedChildren);
}
/* access modifiers changed from: package-private */
public void ensurePreDrawListener() {
int childCount = getChildCount();
boolean z = false;
int i = 0;
while (true) {
if (i >= childCount) {
break;
} else if (hasDependencies(getChildAt(i))) {
z = true;
break;
} else {
i++;
}
}
if (z == this.mNeedsPreDrawListener) {
return;
}
if (z) {
addPreDrawListener();
} else {
removePreDrawListener();
}
}
private boolean hasDependencies(View view) {
return this.mChildDag.hasOutgoingEdges(view);
}
/* access modifiers changed from: package-private */
public void addPreDrawListener() {
if (this.mIsAttachedToWindow) {
if (this.mOnPreDrawListener == null) {
this.mOnPreDrawListener = new OnPreDrawListener();
}
getViewTreeObserver().addOnPreDrawListener(this.mOnPreDrawListener);
}
this.mNeedsPreDrawListener = true;
}
/* access modifiers changed from: package-private */
public void removePreDrawListener() {
if (this.mIsAttachedToWindow && this.mOnPreDrawListener != null) {
getViewTreeObserver().removeOnPreDrawListener(this.mOnPreDrawListener);
}
this.mNeedsPreDrawListener = false;
}
/* access modifiers changed from: package-private */
public void offsetChildToAnchor(View view, int i) {
Behavior behavior;
View view2 = view;
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (layoutParams.mAnchorView != null) {
Rect acquireTempRect = acquireTempRect();
Rect acquireTempRect2 = acquireTempRect();
Rect acquireTempRect3 = acquireTempRect();
getDescendantRect(layoutParams.mAnchorView, acquireTempRect);
boolean z = false;
getChildRect(view2, false, acquireTempRect2);
int measuredWidth = view.getMeasuredWidth();
int measuredHeight = view.getMeasuredHeight();
int i2 = measuredHeight;
getDesiredAnchoredChildRectWithoutConstraints(view, i, acquireTempRect, acquireTempRect3, layoutParams, measuredWidth, measuredHeight);
if (!(acquireTempRect3.left == acquireTempRect2.left && acquireTempRect3.top == acquireTempRect2.top)) {
z = true;
}
constrainChildRect(layoutParams, acquireTempRect3, measuredWidth, i2);
int i3 = acquireTempRect3.left - acquireTempRect2.left;
int i4 = acquireTempRect3.top - acquireTempRect2.top;
if (i3 != 0) {
ViewCompat.offsetLeftAndRight(view2, i3);
}
if (i4 != 0) {
ViewCompat.offsetTopAndBottom(view2, i4);
}
if (z && (behavior = layoutParams.getBehavior()) != null) {
behavior.onDependentViewChanged(this, view2, layoutParams.mAnchorView);
}
releaseTempRect(acquireTempRect);
releaseTempRect(acquireTempRect2);
releaseTempRect(acquireTempRect3);
}
}
public boolean isPointInChildBounds(View view, int i, int i2) {
Rect acquireTempRect = acquireTempRect();
getDescendantRect(view, acquireTempRect);
try {
return acquireTempRect.contains(i, i2);
} finally {
releaseTempRect(acquireTempRect);
}
}
public boolean doViewsOverlap(View view, View view2) {
boolean z = false;
if (view.getVisibility() != 0 || view2.getVisibility() != 0) {
return false;
}
Rect acquireTempRect = acquireTempRect();
getChildRect(view, view.getParent() != this, acquireTempRect);
Rect acquireTempRect2 = acquireTempRect();
getChildRect(view2, view2.getParent() != this, acquireTempRect2);
try {
if (acquireTempRect.left <= acquireTempRect2.right && acquireTempRect.top <= acquireTempRect2.bottom && acquireTempRect.right >= acquireTempRect2.left && acquireTempRect.bottom >= acquireTempRect2.top) {
z = true;
}
return z;
} finally {
releaseTempRect(acquireTempRect);
releaseTempRect(acquireTempRect2);
}
}
public LayoutParams generateLayoutParams(AttributeSet attributeSet) {
return new LayoutParams(getContext(), attributeSet);
}
/* access modifiers changed from: protected */
public LayoutParams generateLayoutParams(ViewGroup.LayoutParams layoutParams) {
if (layoutParams instanceof LayoutParams) {
return new LayoutParams((LayoutParams) layoutParams);
}
if (layoutParams instanceof ViewGroup.MarginLayoutParams) {
return new LayoutParams((ViewGroup.MarginLayoutParams) layoutParams);
}
return new LayoutParams(layoutParams);
}
/* access modifiers changed from: protected */
public LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(-2, -2);
}
/* access modifiers changed from: protected */
public boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) {
return (layoutParams instanceof LayoutParams) && super.checkLayoutParams(layoutParams);
}
public boolean onStartNestedScroll(View view, View view2, int i) {
return onStartNestedScroll(view, view2, i, 0);
}
public boolean onStartNestedScroll(View view, View view2, int i, int i2) {
int i3 = i2;
int childCount = getChildCount();
boolean z = false;
for (int i4 = 0; i4 < childCount; i4++) {
View childAt = getChildAt(i4);
if (childAt.getVisibility() != 8) {
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
Behavior behavior = layoutParams.getBehavior();
if (behavior != null) {
boolean onStartNestedScroll = behavior.onStartNestedScroll(this, childAt, view, view2, i, i2);
z |= onStartNestedScroll;
layoutParams.setNestedScrollAccepted(i3, onStartNestedScroll);
} else {
layoutParams.setNestedScrollAccepted(i3, false);
}
}
}
return z;
}
public void onNestedScrollAccepted(View view, View view2, int i) {
onNestedScrollAccepted(view, view2, i, 0);
}
public void onNestedScrollAccepted(View view, View view2, int i, int i2) {
Behavior behavior;
this.mNestedScrollingParentHelper.onNestedScrollAccepted(view, view2, i, i2);
this.mNestedScrollingTarget = view2;
int childCount = getChildCount();
for (int i3 = 0; i3 < childCount; i3++) {
View childAt = getChildAt(i3);
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
if (layoutParams.isNestedScrollAccepted(i2) && (behavior = layoutParams.getBehavior()) != null) {
behavior.onNestedScrollAccepted(this, childAt, view, view2, i, i2);
}
}
}
public void onStopNestedScroll(View view) {
onStopNestedScroll(view, 0);
}
public void onStopNestedScroll(View view, int i) {
this.mNestedScrollingParentHelper.onStopNestedScroll(view, i);
int childCount = getChildCount();
for (int i2 = 0; i2 < childCount; i2++) {
View childAt = getChildAt(i2);
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
if (layoutParams.isNestedScrollAccepted(i)) {
Behavior behavior = layoutParams.getBehavior();
if (behavior != null) {
behavior.onStopNestedScroll(this, childAt, view, i);
}
layoutParams.resetNestedScroll(i);
layoutParams.resetChangedAfterNestedScroll();
}
}
this.mNestedScrollingTarget = null;
}
public void onNestedScroll(View view, int i, int i2, int i3, int i4) {
onNestedScroll(view, i, i2, i3, i4, 0);
}
public void onNestedScroll(View view, int i, int i2, int i3, int i4, int i5) {
onNestedScroll(view, i, i2, i3, i4, 0, this.mNestedScrollingV2ConsumedCompat);
}
public void onNestedScroll(View view, int i, int i2, int i3, int i4, int i5, int[] iArr) {
Behavior behavior;
int i6;
int i7;
int childCount = getChildCount();
boolean z = false;
int i8 = 0;
int i9 = 0;
for (int i10 = 0; i10 < childCount; i10++) {
View childAt = getChildAt(i10);
if (childAt.getVisibility() != 8) {
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
if (layoutParams.isNestedScrollAccepted(i5) && (behavior = layoutParams.getBehavior()) != null) {
int[] iArr2 = this.mBehaviorConsumed;
iArr2[0] = 0;
iArr2[1] = 0;
behavior.onNestedScroll(this, childAt, view, i, i2, i3, i4, i5, iArr2);
int[] iArr3 = this.mBehaviorConsumed;
if (i3 > 0) {
i6 = Math.max(i8, iArr3[0]);
} else {
i6 = Math.min(i8, iArr3[0]);
}
i8 = i6;
if (i4 > 0) {
i7 = Math.max(i9, this.mBehaviorConsumed[1]);
} else {
i7 = Math.min(i9, this.mBehaviorConsumed[1]);
}
i9 = i7;
z = true;
}
}
}
iArr[0] = iArr[0] + i8;
iArr[1] = iArr[1] + i9;
if (z) {
onChildViewsChanged(1);
}
}
public void onNestedPreScroll(View view, int i, int i2, int[] iArr) {
onNestedPreScroll(view, i, i2, iArr, 0);
}
public void onNestedPreScroll(View view, int i, int i2, int[] iArr, int i3) {
Behavior behavior;
int i4;
int i5;
int childCount = getChildCount();
boolean z = false;
int i6 = 0;
int i7 = 0;
for (int i8 = 0; i8 < childCount; i8++) {
View childAt = getChildAt(i8);
if (childAt.getVisibility() == 8) {
int i9 = i3;
} else {
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
if (layoutParams.isNestedScrollAccepted(i3) && (behavior = layoutParams.getBehavior()) != null) {
int[] iArr2 = this.mBehaviorConsumed;
iArr2[0] = 0;
iArr2[1] = 0;
behavior.onNestedPreScroll(this, childAt, view, i, i2, iArr2, i3);
int[] iArr3 = this.mBehaviorConsumed;
if (i > 0) {
i4 = Math.max(i6, iArr3[0]);
} else {
i4 = Math.min(i6, iArr3[0]);
}
i6 = i4;
int[] iArr4 = this.mBehaviorConsumed;
if (i2 > 0) {
i5 = Math.max(i7, iArr4[1]);
} else {
i5 = Math.min(i7, iArr4[1]);
}
i7 = i5;
z = true;
}
}
}
iArr[0] = i6;
iArr[1] = i7;
if (z) {
onChildViewsChanged(1);
}
}
public boolean onNestedFling(View view, float f, float f2, boolean z) {
Behavior behavior;
int childCount = getChildCount();
boolean z2 = false;
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
if (childAt.getVisibility() != 8) {
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
if (layoutParams.isNestedScrollAccepted(0) && (behavior = layoutParams.getBehavior()) != null) {
z2 |= behavior.onNestedFling(this, childAt, view, f, f2, z);
}
}
}
if (z2) {
onChildViewsChanged(1);
}
return z2;
}
public boolean onNestedPreFling(View view, float f, float f2) {
Behavior behavior;
int childCount = getChildCount();
boolean z = false;
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
if (childAt.getVisibility() != 8) {
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
if (layoutParams.isNestedScrollAccepted(0) && (behavior = layoutParams.getBehavior()) != null) {
z |= behavior.onNestedPreFling(this, childAt, view, f, f2);
}
}
}
return z;
}
public int getNestedScrollAxes() {
return this.mNestedScrollingParentHelper.getNestedScrollAxes();
}
class OnPreDrawListener implements ViewTreeObserver.OnPreDrawListener {
OnPreDrawListener() {
}
public boolean onPreDraw() {
CoordinatorLayout.this.onChildViewsChanged(0);
return true;
}
}
static class ViewElevationComparator implements Comparator<View> {
ViewElevationComparator() {
}
public int compare(View view, View view2) {
float z = ViewCompat.getZ(view);
float z2 = ViewCompat.getZ(view2);
if (z > z2) {
return -1;
}
return z < z2 ? 1 : 0;
}
}
public static abstract class Behavior<V extends View> {
public boolean getInsetDodgeRect(CoordinatorLayout coordinatorLayout, V v, Rect rect) {
return false;
}
public int getScrimColor(CoordinatorLayout coordinatorLayout, V v) {
return ViewCompat.MEASURED_STATE_MASK;
}
public float getScrimOpacity(CoordinatorLayout coordinatorLayout, V v) {
return 0.0f;
}
public boolean layoutDependsOn(CoordinatorLayout coordinatorLayout, V v, View view) {
return false;
}
public WindowInsetsCompat onApplyWindowInsets(CoordinatorLayout coordinatorLayout, V v, WindowInsetsCompat windowInsetsCompat) {
return windowInsetsCompat;
}
public void onAttachedToLayoutParams(LayoutParams layoutParams) {
}
public boolean onDependentViewChanged(CoordinatorLayout coordinatorLayout, V v, View view) {
return false;
}
public void onDependentViewRemoved(CoordinatorLayout coordinatorLayout, V v, View view) {
}
public void onDetachedFromLayoutParams() {
}
public boolean onInterceptTouchEvent(CoordinatorLayout coordinatorLayout, V v, MotionEvent motionEvent) {
return false;
}
public boolean onLayoutChild(CoordinatorLayout coordinatorLayout, V v, int i) {
return false;
}
public boolean onMeasureChild(CoordinatorLayout coordinatorLayout, V v, int i, int i2, int i3, int i4) {
return false;
}
public boolean onNestedFling(CoordinatorLayout coordinatorLayout, V v, View view, float f, float f2, boolean z) {
return false;
}
public boolean onNestedPreFling(CoordinatorLayout coordinatorLayout, V v, View view, float f, float f2) {
return false;
}
@Deprecated
public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, V v, View view, int i, int i2, int[] iArr) {
}
@Deprecated
public void onNestedScroll(CoordinatorLayout coordinatorLayout, V v, View view, int i, int i2, int i3, int i4) {
}
@Deprecated
public void onNestedScrollAccepted(CoordinatorLayout coordinatorLayout, V v, View view, View view2, int i) {
}
public boolean onRequestChildRectangleOnScreen(CoordinatorLayout coordinatorLayout, V v, Rect rect, boolean z) {
return false;
}
public void onRestoreInstanceState(CoordinatorLayout coordinatorLayout, V v, Parcelable parcelable) {
}
@Deprecated
public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, V v, View view, View view2, int i) {
return false;
}
@Deprecated
public void onStopNestedScroll(CoordinatorLayout coordinatorLayout, V v, View view) {
}
public boolean onTouchEvent(CoordinatorLayout coordinatorLayout, V v, MotionEvent motionEvent) {
return false;
}
public Behavior() {
}
public Behavior(Context context, AttributeSet attributeSet) {
}
public boolean blocksInteractionBelow(CoordinatorLayout coordinatorLayout, V v) {
return getScrimOpacity(coordinatorLayout, v) > 0.0f;
}
public static void setTag(View view, Object obj) {
((LayoutParams) view.getLayoutParams()).mBehaviorTag = obj;
}
public static Object getTag(View view) {
return ((LayoutParams) view.getLayoutParams()).mBehaviorTag;
}
public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, V v, View view, View view2, int i, int i2) {
if (i2 == 0) {
return onStartNestedScroll(coordinatorLayout, v, view, view2, i);
}
return false;
}
public void onNestedScrollAccepted(CoordinatorLayout coordinatorLayout, V v, View view, View view2, int i, int i2) {
if (i2 == 0) {
onNestedScrollAccepted(coordinatorLayout, v, view, view2, i);
}
}
public void onStopNestedScroll(CoordinatorLayout coordinatorLayout, V v, View view, int i) {
if (i == 0) {
onStopNestedScroll(coordinatorLayout, v, view);
}
}
@Deprecated
public void onNestedScroll(CoordinatorLayout coordinatorLayout, V v, View view, int i, int i2, int i3, int i4, int i5) {
if (i5 == 0) {
onNestedScroll(coordinatorLayout, v, view, i, i2, i3, i4);
}
}
public void onNestedScroll(CoordinatorLayout coordinatorLayout, V v, View view, int i, int i2, int i3, int i4, int i5, int[] iArr) {
iArr[0] = iArr[0] + i3;
iArr[1] = iArr[1] + i4;
onNestedScroll(coordinatorLayout, v, view, i, i2, i3, i4, i5);
}
public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, V v, View view, int i, int i2, int[] iArr, int i3) {
if (i3 == 0) {
onNestedPreScroll(coordinatorLayout, v, view, i, i2, iArr);
}
}
public Parcelable onSaveInstanceState(CoordinatorLayout coordinatorLayout, V v) {
return View.BaseSavedState.EMPTY_STATE;
}
}
public static class LayoutParams extends ViewGroup.MarginLayoutParams {
public int anchorGravity = 0;
public int dodgeInsetEdges = 0;
public int gravity = 0;
public int insetEdge = 0;
public int keyline = -1;
View mAnchorDirectChild;
int mAnchorId = -1;
View mAnchorView;
Behavior mBehavior;
boolean mBehaviorResolved = false;
Object mBehaviorTag;
private boolean mDidAcceptNestedScrollNonTouch;
private boolean mDidAcceptNestedScrollTouch;
private boolean mDidBlockInteraction;
private boolean mDidChangeAfterNestedScroll;
int mInsetOffsetX;
int mInsetOffsetY;
final Rect mLastChildRect = new Rect();
public LayoutParams(int i, int i2) {
super(i, i2);
}
LayoutParams(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.CoordinatorLayout_Layout);
this.gravity = obtainStyledAttributes.getInteger(R.styleable.CoordinatorLayout_Layout_android_layout_gravity, 0);
this.mAnchorId = obtainStyledAttributes.getResourceId(R.styleable.CoordinatorLayout_Layout_layout_anchor, -1);
this.anchorGravity = obtainStyledAttributes.getInteger(R.styleable.CoordinatorLayout_Layout_layout_anchorGravity, 0);
this.keyline = obtainStyledAttributes.getInteger(R.styleable.CoordinatorLayout_Layout_layout_keyline, -1);
this.insetEdge = obtainStyledAttributes.getInt(R.styleable.CoordinatorLayout_Layout_layout_insetEdge, 0);
this.dodgeInsetEdges = obtainStyledAttributes.getInt(R.styleable.CoordinatorLayout_Layout_layout_dodgeInsetEdges, 0);
boolean hasValue = obtainStyledAttributes.hasValue(R.styleable.CoordinatorLayout_Layout_layout_behavior);
this.mBehaviorResolved = hasValue;
if (hasValue) {
this.mBehavior = CoordinatorLayout.parseBehavior(context, attributeSet, obtainStyledAttributes.getString(R.styleable.CoordinatorLayout_Layout_layout_behavior));
}
obtainStyledAttributes.recycle();
Behavior behavior = this.mBehavior;
if (behavior != null) {
behavior.onAttachedToLayoutParams(this);
}
}
public LayoutParams(LayoutParams layoutParams) {
super(layoutParams);
}
public LayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams) {
super(marginLayoutParams);
}
public LayoutParams(ViewGroup.LayoutParams layoutParams) {
super(layoutParams);
}
public int getAnchorId() {
return this.mAnchorId;
}
public void setAnchorId(int i) {
invalidateAnchor();
this.mAnchorId = i;
}
public Behavior getBehavior() {
return this.mBehavior;
}
public void setBehavior(Behavior behavior) {
Behavior behavior2 = this.mBehavior;
if (behavior2 != behavior) {
if (behavior2 != null) {
behavior2.onDetachedFromLayoutParams();
}
this.mBehavior = behavior;
this.mBehaviorTag = null;
this.mBehaviorResolved = true;
if (behavior != null) {
behavior.onAttachedToLayoutParams(this);
}
}
}
/* access modifiers changed from: package-private */
public void setLastChildRect(Rect rect) {
this.mLastChildRect.set(rect);
}
/* access modifiers changed from: package-private */
public Rect getLastChildRect() {
return this.mLastChildRect;
}
/* access modifiers changed from: package-private */
public boolean checkAnchorChanged() {
return this.mAnchorView == null && this.mAnchorId != -1;
}
/* access modifiers changed from: package-private */
public boolean didBlockInteraction() {
if (this.mBehavior == null) {
this.mDidBlockInteraction = false;
}
return this.mDidBlockInteraction;
}
/* access modifiers changed from: package-private */
public boolean isBlockingInteractionBelow(CoordinatorLayout coordinatorLayout, View view) {
boolean z = this.mDidBlockInteraction;
if (z) {
return true;
}
Behavior behavior = this.mBehavior;
boolean blocksInteractionBelow = (behavior != null ? behavior.blocksInteractionBelow(coordinatorLayout, view) : false) | z;
this.mDidBlockInteraction = blocksInteractionBelow;
return blocksInteractionBelow;
}
/* access modifiers changed from: package-private */
public void resetTouchBehaviorTracking() {
this.mDidBlockInteraction = false;
}
/* access modifiers changed from: package-private */
public void resetNestedScroll(int i) {
setNestedScrollAccepted(i, false);
}
/* access modifiers changed from: package-private */
public void setNestedScrollAccepted(int i, boolean z) {
if (i == 0) {
this.mDidAcceptNestedScrollTouch = z;
} else if (i == 1) {
this.mDidAcceptNestedScrollNonTouch = z;
}
}
/* access modifiers changed from: package-private */
public boolean isNestedScrollAccepted(int i) {
if (i == 0) {
return this.mDidAcceptNestedScrollTouch;
}
if (i != 1) {
return false;
}
return this.mDidAcceptNestedScrollNonTouch;
}
/* access modifiers changed from: package-private */
public boolean getChangedAfterNestedScroll() {
return this.mDidChangeAfterNestedScroll;
}
/* access modifiers changed from: package-private */
public void setChangedAfterNestedScroll(boolean z) {
this.mDidChangeAfterNestedScroll = z;
}
/* access modifiers changed from: package-private */
public void resetChangedAfterNestedScroll() {
this.mDidChangeAfterNestedScroll = false;
}
/* access modifiers changed from: package-private */
/* JADX WARNING: Code restructure failed: missing block: B:4:0x000e, code lost:
r0 = r1.mBehavior;
*/
/* Code decompiled incorrectly, please refer to instructions dump. */
public boolean dependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout r2, android.view.View r3, android.view.View r4) {
/*
r1 = this;
android.view.View r0 = r1.mAnchorDirectChild
if (r4 == r0) goto L_0x001b
int r0 = androidx.core.view.ViewCompat.getLayoutDirection(r2)
boolean r0 = r1.shouldDodge(r4, r0)
if (r0 != 0) goto L_0x001b
androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior r0 = r1.mBehavior
if (r0 == 0) goto L_0x0019
boolean r2 = r0.layoutDependsOn(r2, r3, r4)
if (r2 == 0) goto L_0x0019
goto L_0x001b
L_0x0019:
r2 = 0
goto L_0x001c
L_0x001b:
r2 = 1
L_0x001c:
return r2
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.coordinatorlayout.widget.CoordinatorLayout.LayoutParams.dependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout, android.view.View, android.view.View):boolean");
}
/* access modifiers changed from: package-private */
public void invalidateAnchor() {
this.mAnchorDirectChild = null;
this.mAnchorView = null;
}
/* access modifiers changed from: package-private */
public View findAnchorView(CoordinatorLayout coordinatorLayout, View view) {
if (this.mAnchorId == -1) {
this.mAnchorDirectChild = null;
this.mAnchorView = null;
return null;
}
if (this.mAnchorView == null || !verifyAnchorView(view, coordinatorLayout)) {
resolveAnchorView(view, coordinatorLayout);
}
return this.mAnchorView;
}
private void resolveAnchorView(View view, CoordinatorLayout coordinatorLayout) {
View findViewById = coordinatorLayout.findViewById(this.mAnchorId);
this.mAnchorView = findViewById;
if (findViewById != null) {
if (findViewById != coordinatorLayout) {
ViewParent parent = findViewById.getParent();
while (parent != coordinatorLayout && parent != null) {
if (parent != view) {
if (parent instanceof View) {
findViewById = (View) parent;
}
parent = parent.getParent();
} else if (coordinatorLayout.isInEditMode()) {
this.mAnchorDirectChild = null;
this.mAnchorView = null;
return;
} else {
throw new IllegalStateException("Anchor must not be a descendant of the anchored view");
}
}
this.mAnchorDirectChild = findViewById;
} else if (coordinatorLayout.isInEditMode()) {
this.mAnchorDirectChild = null;
this.mAnchorView = null;
} else {
throw new IllegalStateException("View can not be anchored to the the parent CoordinatorLayout");
}
} else if (coordinatorLayout.isInEditMode()) {
this.mAnchorDirectChild = null;
this.mAnchorView = null;
} else {
throw new IllegalStateException("Could not find CoordinatorLayout descendant view with id " + coordinatorLayout.getResources().getResourceName(this.mAnchorId) + " to anchor view " + view);
}
}
private boolean verifyAnchorView(View view, CoordinatorLayout coordinatorLayout) {
if (this.mAnchorView.getId() != this.mAnchorId) {
return false;
}
View view2 = this.mAnchorView;
for (ViewParent parent = view2.getParent(); parent != coordinatorLayout; parent = parent.getParent()) {
if (parent == null || parent == view) {
this.mAnchorDirectChild = null;
this.mAnchorView = null;
return false;
}
if (parent instanceof View) {
view2 = (View) parent;
}
}
this.mAnchorDirectChild = view2;
return true;
}
private boolean shouldDodge(View view, int i) {
int absoluteGravity = GravityCompat.getAbsoluteGravity(((LayoutParams) view.getLayoutParams()).insetEdge, i);
return absoluteGravity != 0 && (GravityCompat.getAbsoluteGravity(this.dodgeInsetEdges, i) & absoluteGravity) == absoluteGravity;
}
}
private class HierarchyChangeListener implements ViewGroup.OnHierarchyChangeListener {
HierarchyChangeListener() {
}
public void onChildViewAdded(View view, View view2) {
if (CoordinatorLayout.this.mOnHierarchyChangeListener != null) {
CoordinatorLayout.this.mOnHierarchyChangeListener.onChildViewAdded(view, view2);
}
}
public void onChildViewRemoved(View view, View view2) {
CoordinatorLayout.this.onChildViewsChanged(2);
if (CoordinatorLayout.this.mOnHierarchyChangeListener != null) {
CoordinatorLayout.this.mOnHierarchyChangeListener.onChildViewRemoved(view, view2);
}
}
}
/* access modifiers changed from: protected */
public void onRestoreInstanceState(Parcelable parcelable) {
Parcelable parcelable2;
if (!(parcelable instanceof SavedState)) {
super.onRestoreInstanceState(parcelable);
return;
}
SavedState savedState = (SavedState) parcelable;
super.onRestoreInstanceState(savedState.getSuperState());
SparseArray<Parcelable> sparseArray = savedState.behaviorStates;
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
int id = childAt.getId();
Behavior behavior = getResolvedLayoutParams(childAt).getBehavior();
if (!(id == -1 || behavior == null || (parcelable2 = sparseArray.get(id)) == null)) {
behavior.onRestoreInstanceState(this, childAt, parcelable2);
}
}
}
/* access modifiers changed from: protected */
public Parcelable onSaveInstanceState() {
Parcelable onSaveInstanceState;
SavedState savedState = new SavedState(super.onSaveInstanceState());
SparseArray<Parcelable> sparseArray = new SparseArray<>();
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
int id = childAt.getId();
Behavior behavior = ((LayoutParams) childAt.getLayoutParams()).getBehavior();
if (!(id == -1 || behavior == null || (onSaveInstanceState = behavior.onSaveInstanceState(this, childAt)) == null)) {
sparseArray.append(id, onSaveInstanceState);
}
}
savedState.behaviorStates = sparseArray;
return savedState;
}
public boolean requestChildRectangleOnScreen(View view, Rect rect, boolean z) {
Behavior behavior = ((LayoutParams) view.getLayoutParams()).getBehavior();
if (behavior == null || !behavior.onRequestChildRectangleOnScreen(this, view, rect, z)) {
return super.requestChildRectangleOnScreen(view, rect, z);
}
return true;
}
private void setupForInsets() {
if (Build.VERSION.SDK_INT >= 21) {
if (ViewCompat.getFitsSystemWindows(this)) {
if (this.mApplyWindowInsetsListener == null) {
this.mApplyWindowInsetsListener = new OnApplyWindowInsetsListener() {
public WindowInsetsCompat onApplyWindowInsets(View view, WindowInsetsCompat windowInsetsCompat) {
return CoordinatorLayout.this.setWindowInsets(windowInsetsCompat);
}
};
}
ViewCompat.setOnApplyWindowInsetsListener(this, this.mApplyWindowInsetsListener);
setSystemUiVisibility(1280);
return;
}
ViewCompat.setOnApplyWindowInsetsListener(this, (OnApplyWindowInsetsListener) null);
}
}
protected static class SavedState extends AbsSavedState {
public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.ClassLoaderCreator<SavedState>() {
public SavedState createFromParcel(Parcel parcel, ClassLoader classLoader) {
return new SavedState(parcel, classLoader);
}
public SavedState createFromParcel(Parcel parcel) {
return new SavedState(parcel, (ClassLoader) null);
}
public SavedState[] newArray(int i) {
return new SavedState[i];
}
};
SparseArray<Parcelable> behaviorStates;
public SavedState(Parcel parcel, ClassLoader classLoader) {
super(parcel, classLoader);
int readInt = parcel.readInt();
int[] iArr = new int[readInt];
parcel.readIntArray(iArr);
Parcelable[] readParcelableArray = parcel.readParcelableArray(classLoader);
this.behaviorStates = new SparseArray<>(readInt);
for (int i = 0; i < readInt; i++) {
this.behaviorStates.append(iArr[i], readParcelableArray[i]);
}
}
public SavedState(Parcelable parcelable) {
super(parcelable);
}
public void writeToParcel(Parcel parcel, int i) {
super.writeToParcel(parcel, i);
SparseArray<Parcelable> sparseArray = this.behaviorStates;
int size = sparseArray != null ? sparseArray.size() : 0;
parcel.writeInt(size);
int[] iArr = new int[size];
Parcelable[] parcelableArr = new Parcelable[size];
for (int i2 = 0; i2 < size; i2++) {
iArr[i2] = this.behaviorStates.keyAt(i2);
parcelableArr[i2] = this.behaviorStates.valueAt(i2);
}
parcel.writeIntArray(iArr);
parcel.writeParcelableArray(parcelableArr, i);
}
}
}
Download file