package androidx.drawerlayout.widget; import android.R; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; import android.os.SystemClock; import android.util.AttributeSet; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.WindowInsets; import android.view.accessibility.AccessibilityEvent; import androidx.core.content.ContextCompat; import androidx.core.graphics.Insets; import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.view.AccessibilityDelegateCompat; import androidx.core.view.GravityCompat; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityViewCommand; import androidx.customview.view.AbsSavedState; import androidx.customview.widget.Openable; import androidx.customview.widget.ViewDragHelper; import io.flutter.plugin.platform.PlatformPlugin; import java.util.ArrayList; import java.util.List; /* loaded from: classes.dex */ public class DrawerLayout extends ViewGroup implements Openable { private static final String ACCESSIBILITY_CLASS_NAME = "androidx.drawerlayout.widget.DrawerLayout"; private static final boolean ALLOW_EDGE_LOCK = false; private static final boolean CHILDREN_DISALLOW_INTERCEPT = true; private static final int DEFAULT_SCRIM_COLOR = -1728053248; public static final int LOCK_MODE_LOCKED_CLOSED = 1; public static final int LOCK_MODE_LOCKED_OPEN = 2; public static final int LOCK_MODE_UNDEFINED = 3; public static final int LOCK_MODE_UNLOCKED = 0; private static final int MIN_DRAWER_MARGIN = 64; private static final int MIN_FLING_VELOCITY = 400; private static final int PEEK_DELAY = 160; public static final int STATE_DRAGGING = 1; public static final int STATE_IDLE = 0; public static final int STATE_SETTLING = 2; private static final String TAG = "DrawerLayout"; private static final float TOUCH_SLOP_SENSITIVITY = 1.0f; private final AccessibilityViewCommand mActionDismiss; private final ChildAccessibilityDelegate mChildAccessibilityDelegate; private Rect mChildHitRect; private Matrix mChildInvertedMatrix; private boolean mChildrenCanceledTouch; private boolean mDrawStatusBarBackground; private float mDrawerElevation; private int mDrawerState; private boolean mFirstLayout; private boolean mInLayout; private float mInitialMotionX; private float mInitialMotionY; private Object mLastInsets; private final ViewDragCallback mLeftCallback; private final ViewDragHelper mLeftDragger; private DrawerListener mListener; private List mListeners; private int mLockModeEnd; private int mLockModeLeft; private int mLockModeRight; private int mLockModeStart; private int mMinDrawerMargin; private final ArrayList mNonDrawerViews; private final ViewDragCallback mRightCallback; private final ViewDragHelper mRightDragger; private int mScrimColor; private float mScrimOpacity; private Paint mScrimPaint; private Drawable mShadowEnd; private Drawable mShadowLeft; private Drawable mShadowLeftResolved; private Drawable mShadowRight; private Drawable mShadowRightResolved; private Drawable mShadowStart; private Drawable mStatusBarBackground; private CharSequence mTitleLeft; private CharSequence mTitleRight; private static final int[] THEME_ATTRS = {R.attr.colorPrimaryDark}; static final int[] LAYOUT_ATTRS = {R.attr.layout_gravity}; static final boolean CAN_HIDE_DESCENDANTS = true; private static final boolean SET_DRAWER_SHADOW_FROM_ELEVATION = true; private static boolean sEdgeSizeUsingSystemGestureInsets = true; /* loaded from: classes.dex */ public interface DrawerListener { void onDrawerClosed(View view); void onDrawerOpened(View view); void onDrawerSlide(View view, float f); void onDrawerStateChanged(int i); } /* loaded from: classes.dex */ public static abstract class SimpleDrawerListener implements DrawerListener { @Override // androidx.drawerlayout.widget.DrawerLayout.DrawerListener public void onDrawerClosed(View view) { } @Override // androidx.drawerlayout.widget.DrawerLayout.DrawerListener public void onDrawerOpened(View view) { } @Override // androidx.drawerlayout.widget.DrawerLayout.DrawerListener public void onDrawerSlide(View view, float f) { } @Override // androidx.drawerlayout.widget.DrawerLayout.DrawerListener public void onDrawerStateChanged(int i) { } } public float getDrawerElevation() { if (SET_DRAWER_SHADOW_FROM_ELEVATION) { return this.mDrawerElevation; } return 0.0f; } public Drawable getStatusBarBackgroundDrawable() { return this.mStatusBarBackground; } public DrawerLayout(Context context) { this(context, null); } public DrawerLayout(Context context, AttributeSet attributeSet) { this(context, attributeSet, androidx.drawerlayout.R.attr.drawerLayoutStyle); } public DrawerLayout(Context context, AttributeSet attributeSet, int i) { super(context, attributeSet, i); this.mChildAccessibilityDelegate = new ChildAccessibilityDelegate(); this.mScrimColor = DEFAULT_SCRIM_COLOR; this.mScrimPaint = new Paint(); this.mFirstLayout = true; this.mLockModeLeft = 3; this.mLockModeRight = 3; this.mLockModeStart = 3; this.mLockModeEnd = 3; this.mShadowStart = null; this.mShadowEnd = null; this.mShadowLeft = null; this.mShadowRight = null; this.mActionDismiss = new AccessibilityViewCommand() { // from class: androidx.drawerlayout.widget.DrawerLayout.1 @Override // androidx.core.view.accessibility.AccessibilityViewCommand public boolean perform(View view, AccessibilityViewCommand.CommandArguments commandArguments) { if (!DrawerLayout.this.isDrawerOpen(view) || DrawerLayout.this.getDrawerLockMode(view) == 2) { return false; } DrawerLayout.this.closeDrawer(view); return true; } }; setDescendantFocusability(262144); float f = getResources().getDisplayMetrics().density; this.mMinDrawerMargin = (int) ((64.0f * f) + 0.5f); float f2 = f * 400.0f; ViewDragCallback viewDragCallback = new ViewDragCallback(3); this.mLeftCallback = viewDragCallback; ViewDragCallback viewDragCallback2 = new ViewDragCallback(5); this.mRightCallback = viewDragCallback2; ViewDragHelper create = ViewDragHelper.create(this, 1.0f, viewDragCallback); this.mLeftDragger = create; create.setEdgeTrackingEnabled(1); create.setMinVelocity(f2); viewDragCallback.setDragger(create); ViewDragHelper create2 = ViewDragHelper.create(this, 1.0f, viewDragCallback2); this.mRightDragger = create2; create2.setEdgeTrackingEnabled(2); create2.setMinVelocity(f2); viewDragCallback2.setDragger(create2); setFocusableInTouchMode(true); ViewCompat.setImportantForAccessibility(this, 1); ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegate()); setMotionEventSplittingEnabled(false); if (ViewCompat.getFitsSystemWindows(this)) { setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() { // from class: androidx.drawerlayout.widget.DrawerLayout.2 @Override // android.view.View.OnApplyWindowInsetsListener public WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) { ((DrawerLayout) view).setChildInsets(windowInsets, windowInsets.getSystemWindowInsetTop() > 0); return windowInsets.consumeSystemWindowInsets(); } }); setSystemUiVisibility(PlatformPlugin.DEFAULT_SYSTEM_UI); TypedArray obtainStyledAttributes = context.obtainStyledAttributes(THEME_ATTRS); try { this.mStatusBarBackground = obtainStyledAttributes.getDrawable(0); } finally { obtainStyledAttributes.recycle(); } } TypedArray obtainStyledAttributes2 = context.obtainStyledAttributes(attributeSet, androidx.drawerlayout.R.styleable.DrawerLayout, i, 0); try { if (obtainStyledAttributes2.hasValue(androidx.drawerlayout.R.styleable.DrawerLayout_elevation)) { this.mDrawerElevation = obtainStyledAttributes2.getDimension(androidx.drawerlayout.R.styleable.DrawerLayout_elevation, 0.0f); } else { this.mDrawerElevation = getResources().getDimension(androidx.drawerlayout.R.dimen.def_drawer_elevation); } obtainStyledAttributes2.recycle(); this.mNonDrawerViews = new ArrayList<>(); } catch (Throwable th) { obtainStyledAttributes2.recycle(); throw th; } } public void setDrawerElevation(float f) { this.mDrawerElevation = f; for (int i = 0; i < getChildCount(); i++) { View childAt = getChildAt(i); if (isDrawerView(childAt)) { ViewCompat.setElevation(childAt, this.mDrawerElevation); } } } public void setChildInsets(Object obj, boolean z) { this.mLastInsets = obj; this.mDrawStatusBarBackground = z; setWillNotDraw(!z && getBackground() == null); requestLayout(); } public void setDrawerShadow(Drawable drawable, int i) { if (SET_DRAWER_SHADOW_FROM_ELEVATION) { return; } if ((i & GravityCompat.START) == 8388611) { this.mShadowStart = drawable; } else if ((i & GravityCompat.END) == 8388613) { this.mShadowEnd = drawable; } else if ((i & 3) == 3) { this.mShadowLeft = drawable; } else if ((i & 5) != 5) { return; } else { this.mShadowRight = drawable; } resolveShadowDrawables(); invalidate(); } public void setDrawerShadow(int i, int i2) { setDrawerShadow(ContextCompat.getDrawable(getContext(), i), i2); } public void setScrimColor(int i) { this.mScrimColor = i; invalidate(); } @Deprecated public void setDrawerListener(DrawerListener drawerListener) { DrawerListener drawerListener2 = this.mListener; if (drawerListener2 != null) { removeDrawerListener(drawerListener2); } if (drawerListener != null) { addDrawerListener(drawerListener); } this.mListener = drawerListener; } public void addDrawerListener(DrawerListener drawerListener) { if (drawerListener == null) { return; } if (this.mListeners == null) { this.mListeners = new ArrayList(); } this.mListeners.add(drawerListener); } public void removeDrawerListener(DrawerListener drawerListener) { List list; if (drawerListener == null || (list = this.mListeners) == null) { return; } list.remove(drawerListener); } public void setDrawerLockMode(int i) { setDrawerLockMode(i, 3); setDrawerLockMode(i, 5); } public void setDrawerLockMode(int i, int i2) { View findDrawerWithGravity; int absoluteGravity = GravityCompat.getAbsoluteGravity(i2, ViewCompat.getLayoutDirection(this)); if (i2 == 3) { this.mLockModeLeft = i; } else if (i2 == 5) { this.mLockModeRight = i; } else if (i2 == 8388611) { this.mLockModeStart = i; } else if (i2 == 8388613) { this.mLockModeEnd = i; } if (i != 0) { (absoluteGravity == 3 ? this.mLeftDragger : this.mRightDragger).cancel(); } if (i != 1) { if (i == 2 && (findDrawerWithGravity = findDrawerWithGravity(absoluteGravity)) != null) { openDrawer(findDrawerWithGravity); return; } return; } View findDrawerWithGravity2 = findDrawerWithGravity(absoluteGravity); if (findDrawerWithGravity2 != null) { closeDrawer(findDrawerWithGravity2); } } public void setDrawerLockMode(int i, View view) { if (!isDrawerView(view)) { throw new IllegalArgumentException("View " + view + " is not a drawer with appropriate layout_gravity"); } setDrawerLockMode(i, ((LayoutParams) view.getLayoutParams()).gravity); } public int getDrawerLockMode(int i) { int layoutDirection = ViewCompat.getLayoutDirection(this); if (i == 3) { int i2 = this.mLockModeLeft; if (i2 != 3) { return i2; } int i3 = layoutDirection == 0 ? this.mLockModeStart : this.mLockModeEnd; if (i3 != 3) { return i3; } return 0; } if (i == 5) { int i4 = this.mLockModeRight; if (i4 != 3) { return i4; } int i5 = layoutDirection == 0 ? this.mLockModeEnd : this.mLockModeStart; if (i5 != 3) { return i5; } return 0; } if (i == 8388611) { int i6 = this.mLockModeStart; if (i6 != 3) { return i6; } int i7 = layoutDirection == 0 ? this.mLockModeLeft : this.mLockModeRight; if (i7 != 3) { return i7; } return 0; } if (i != 8388613) { return 0; } int i8 = this.mLockModeEnd; if (i8 != 3) { return i8; } int i9 = layoutDirection == 0 ? this.mLockModeRight : this.mLockModeLeft; if (i9 != 3) { return i9; } return 0; } public int getDrawerLockMode(View view) { if (!isDrawerView(view)) { throw new IllegalArgumentException("View " + view + " is not a drawer"); } return getDrawerLockMode(((LayoutParams) view.getLayoutParams()).gravity); } public void setDrawerTitle(int i, CharSequence charSequence) { int absoluteGravity = GravityCompat.getAbsoluteGravity(i, ViewCompat.getLayoutDirection(this)); if (absoluteGravity == 3) { this.mTitleLeft = charSequence; } else if (absoluteGravity == 5) { this.mTitleRight = charSequence; } } public CharSequence getDrawerTitle(int i) { int absoluteGravity = GravityCompat.getAbsoluteGravity(i, ViewCompat.getLayoutDirection(this)); if (absoluteGravity == 3) { return this.mTitleLeft; } if (absoluteGravity == 5) { return this.mTitleRight; } return null; } private boolean isInBoundsOfChild(float f, float f2, View view) { if (this.mChildHitRect == null) { this.mChildHitRect = new Rect(); } view.getHitRect(this.mChildHitRect); return this.mChildHitRect.contains((int) f, (int) f2); } private boolean dispatchTransformedGenericPointerEvent(MotionEvent motionEvent, View view) { if (!view.getMatrix().isIdentity()) { MotionEvent transformedMotionEvent = getTransformedMotionEvent(motionEvent, view); boolean dispatchGenericMotionEvent = view.dispatchGenericMotionEvent(transformedMotionEvent); transformedMotionEvent.recycle(); return dispatchGenericMotionEvent; } float scrollX = getScrollX() - view.getLeft(); float scrollY = getScrollY() - view.getTop(); motionEvent.offsetLocation(scrollX, scrollY); boolean dispatchGenericMotionEvent2 = view.dispatchGenericMotionEvent(motionEvent); motionEvent.offsetLocation(-scrollX, -scrollY); return dispatchGenericMotionEvent2; } private MotionEvent getTransformedMotionEvent(MotionEvent motionEvent, View view) { float scrollX = getScrollX() - view.getLeft(); float scrollY = getScrollY() - view.getTop(); MotionEvent obtain = MotionEvent.obtain(motionEvent); obtain.offsetLocation(scrollX, scrollY); Matrix matrix = view.getMatrix(); if (!matrix.isIdentity()) { if (this.mChildInvertedMatrix == null) { this.mChildInvertedMatrix = new Matrix(); } matrix.invert(this.mChildInvertedMatrix); obtain.transform(this.mChildInvertedMatrix); } return obtain; } void updateDrawerState(int i, View view) { int i2; int viewDragState = this.mLeftDragger.getViewDragState(); int viewDragState2 = this.mRightDragger.getViewDragState(); if (viewDragState == 1 || viewDragState2 == 1) { i2 = 1; } else { i2 = 2; if (viewDragState != 2 && viewDragState2 != 2) { i2 = 0; } } if (view != null && i == 0) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); if (layoutParams.onScreen == 0.0f) { dispatchOnDrawerClosed(view); } else if (layoutParams.onScreen == 1.0f) { dispatchOnDrawerOpened(view); } } if (i2 != this.mDrawerState) { this.mDrawerState = i2; List list = this.mListeners; if (list != null) { for (int size = list.size() - 1; size >= 0; size--) { this.mListeners.get(size).onDrawerStateChanged(i2); } } } } void dispatchOnDrawerClosed(View view) { View rootView; LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); if ((layoutParams.openState & 1) == 1) { layoutParams.openState = 0; List list = this.mListeners; if (list != null) { for (int size = list.size() - 1; size >= 0; size--) { this.mListeners.get(size).onDrawerClosed(view); } } updateChildrenImportantForAccessibility(view, false); updateChildAccessibilityAction(view); if (!hasWindowFocus() || (rootView = getRootView()) == null) { return; } rootView.sendAccessibilityEvent(32); } } void dispatchOnDrawerOpened(View view) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); if ((layoutParams.openState & 1) == 0) { layoutParams.openState = 1; List list = this.mListeners; if (list != null) { for (int size = list.size() - 1; size >= 0; size--) { this.mListeners.get(size).onDrawerOpened(view); } } updateChildrenImportantForAccessibility(view, true); updateChildAccessibilityAction(view); if (hasWindowFocus()) { sendAccessibilityEvent(32); } } } private void updateChildrenImportantForAccessibility(View view, boolean z) { int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { View childAt = getChildAt(i); if ((!z && !isDrawerView(childAt)) || (z && childAt == view)) { ViewCompat.setImportantForAccessibility(childAt, 1); } else { ViewCompat.setImportantForAccessibility(childAt, 4); } } } private void updateChildAccessibilityAction(View view) { ViewCompat.removeAccessibilityAction(view, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_DISMISS.getId()); if (!isDrawerOpen(view) || getDrawerLockMode(view) == 2) { return; } ViewCompat.replaceAccessibilityAction(view, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_DISMISS, null, this.mActionDismiss); } void dispatchOnDrawerSlide(View view, float f) { List list = this.mListeners; if (list != null) { for (int size = list.size() - 1; size >= 0; size--) { this.mListeners.get(size).onDrawerSlide(view, f); } } } void setDrawerViewOffset(View view, float f) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); if (f == layoutParams.onScreen) { return; } layoutParams.onScreen = f; dispatchOnDrawerSlide(view, f); } float getDrawerViewOffset(View view) { return ((LayoutParams) view.getLayoutParams()).onScreen; } int getDrawerViewAbsoluteGravity(View view) { return GravityCompat.getAbsoluteGravity(((LayoutParams) view.getLayoutParams()).gravity, ViewCompat.getLayoutDirection(this)); } boolean checkDrawerViewAbsoluteGravity(View view, int i) { return (getDrawerViewAbsoluteGravity(view) & i) == i; } View findOpenDrawer() { int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { View childAt = getChildAt(i); if ((((LayoutParams) childAt.getLayoutParams()).openState & 1) == 1) { return childAt; } } return null; } void moveDrawerToOffset(View view, float f) { float drawerViewOffset = getDrawerViewOffset(view); float width = view.getWidth(); int i = ((int) (width * f)) - ((int) (drawerViewOffset * width)); if (!checkDrawerViewAbsoluteGravity(view, 3)) { i = -i; } view.offsetLeftAndRight(i); setDrawerViewOffset(view, f); } View findDrawerWithGravity(int i) { int absoluteGravity = GravityCompat.getAbsoluteGravity(i, ViewCompat.getLayoutDirection(this)) & 7; int childCount = getChildCount(); for (int i2 = 0; i2 < childCount; i2++) { View childAt = getChildAt(i2); if ((getDrawerViewAbsoluteGravity(childAt) & 7) == absoluteGravity) { return childAt; } } return null; } static String gravityToString(int i) { return (i & 3) == 3 ? "LEFT" : (i & 5) == 5 ? "RIGHT" : Integer.toHexString(i); } @Override // android.view.ViewGroup, android.view.View protected void onDetachedFromWindow() { super.onDetachedFromWindow(); this.mFirstLayout = true; } @Override // android.view.ViewGroup, android.view.View protected void onAttachedToWindow() { super.onAttachedToWindow(); this.mFirstLayout = true; } @Override // android.view.View protected void onMeasure(int i, int i2) { int mode = View.MeasureSpec.getMode(i); int mode2 = View.MeasureSpec.getMode(i2); int size = View.MeasureSpec.getSize(i); int size2 = View.MeasureSpec.getSize(i2); if (mode != 1073741824 || mode2 != 1073741824) { if (!isInEditMode()) { throw new IllegalArgumentException("DrawerLayout must be measured with MeasureSpec.EXACTLY."); } if (mode == 0) { size = 300; } if (mode2 == 0) { size2 = 300; } } setMeasuredDimension(size, size2); boolean z = this.mLastInsets != null && ViewCompat.getFitsSystemWindows(this); int layoutDirection = ViewCompat.getLayoutDirection(this); int childCount = getChildCount(); boolean z2 = false; boolean z3 = false; for (int i3 = 0; i3 < childCount; i3++) { View childAt = getChildAt(i3); if (childAt.getVisibility() != 8) { LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams(); if (z) { int absoluteGravity = GravityCompat.getAbsoluteGravity(layoutParams.gravity, layoutDirection); if (ViewCompat.getFitsSystemWindows(childAt)) { WindowInsets windowInsets = (WindowInsets) this.mLastInsets; if (absoluteGravity == 3) { windowInsets = windowInsets.replaceSystemWindowInsets(windowInsets.getSystemWindowInsetLeft(), windowInsets.getSystemWindowInsetTop(), 0, windowInsets.getSystemWindowInsetBottom()); } else if (absoluteGravity == 5) { windowInsets = windowInsets.replaceSystemWindowInsets(0, windowInsets.getSystemWindowInsetTop(), windowInsets.getSystemWindowInsetRight(), windowInsets.getSystemWindowInsetBottom()); } childAt.dispatchApplyWindowInsets(windowInsets); } else { WindowInsets windowInsets2 = (WindowInsets) this.mLastInsets; if (absoluteGravity == 3) { windowInsets2 = windowInsets2.replaceSystemWindowInsets(windowInsets2.getSystemWindowInsetLeft(), windowInsets2.getSystemWindowInsetTop(), 0, windowInsets2.getSystemWindowInsetBottom()); } else if (absoluteGravity == 5) { windowInsets2 = windowInsets2.replaceSystemWindowInsets(0, windowInsets2.getSystemWindowInsetTop(), windowInsets2.getSystemWindowInsetRight(), windowInsets2.getSystemWindowInsetBottom()); } layoutParams.leftMargin = windowInsets2.getSystemWindowInsetLeft(); layoutParams.topMargin = windowInsets2.getSystemWindowInsetTop(); layoutParams.rightMargin = windowInsets2.getSystemWindowInsetRight(); layoutParams.bottomMargin = windowInsets2.getSystemWindowInsetBottom(); } } if (isContentView(childAt)) { childAt.measure(View.MeasureSpec.makeMeasureSpec((size - layoutParams.leftMargin) - layoutParams.rightMargin, 1073741824), View.MeasureSpec.makeMeasureSpec((size2 - layoutParams.topMargin) - layoutParams.bottomMargin, 1073741824)); } else if (isDrawerView(childAt)) { if (SET_DRAWER_SHADOW_FROM_ELEVATION) { float elevation = ViewCompat.getElevation(childAt); float f = this.mDrawerElevation; if (elevation != f) { ViewCompat.setElevation(childAt, f); } } int drawerViewAbsoluteGravity = getDrawerViewAbsoluteGravity(childAt) & 7; boolean z4 = drawerViewAbsoluteGravity == 3; if ((z4 && z2) || (!z4 && z3)) { throw new IllegalStateException("Child drawer has absolute gravity " + gravityToString(drawerViewAbsoluteGravity) + " but this DrawerLayout already has a drawer view along that edge"); } if (z4) { z2 = true; } else { z3 = true; } childAt.measure(getChildMeasureSpec(i, this.mMinDrawerMargin + layoutParams.leftMargin + layoutParams.rightMargin, layoutParams.width), getChildMeasureSpec(i2, layoutParams.topMargin + layoutParams.bottomMargin, layoutParams.height)); } else { throw new IllegalStateException("Child " + childAt + " at index " + i3 + " does not have a valid layout_gravity - must be Gravity.LEFT, Gravity.RIGHT or Gravity.NO_GRAVITY"); } } } } private void resolveShadowDrawables() { if (SET_DRAWER_SHADOW_FROM_ELEVATION) { return; } this.mShadowLeftResolved = resolveLeftShadow(); this.mShadowRightResolved = resolveRightShadow(); } private Drawable resolveLeftShadow() { int layoutDirection = ViewCompat.getLayoutDirection(this); if (layoutDirection == 0) { Drawable drawable = this.mShadowStart; if (drawable != null) { mirror(drawable, layoutDirection); return this.mShadowStart; } } else { Drawable drawable2 = this.mShadowEnd; if (drawable2 != null) { mirror(drawable2, layoutDirection); return this.mShadowEnd; } } return this.mShadowLeft; } private Drawable resolveRightShadow() { int layoutDirection = ViewCompat.getLayoutDirection(this); if (layoutDirection == 0) { Drawable drawable = this.mShadowEnd; if (drawable != null) { mirror(drawable, layoutDirection); return this.mShadowEnd; } } else { Drawable drawable2 = this.mShadowStart; if (drawable2 != null) { mirror(drawable2, layoutDirection); return this.mShadowStart; } } return this.mShadowRight; } private void mirror(Drawable drawable, int i) { if (drawable == null || !DrawableCompat.isAutoMirrored(drawable)) { return; } DrawableCompat.setLayoutDirection(drawable, i); } @Override // android.view.ViewGroup, android.view.View protected void onLayout(boolean z, int i, int i2, int i3, int i4) { WindowInsets rootWindowInsets; float f; int i5; boolean z2 = true; this.mInLayout = true; int i6 = i3 - i; int childCount = getChildCount(); int i7 = 0; while (i7 < childCount) { View childAt = getChildAt(i7); if (childAt.getVisibility() != 8) { LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams(); if (isContentView(childAt)) { childAt.layout(layoutParams.leftMargin, layoutParams.topMargin, layoutParams.leftMargin + childAt.getMeasuredWidth(), layoutParams.topMargin + childAt.getMeasuredHeight()); } else { int measuredWidth = childAt.getMeasuredWidth(); int measuredHeight = childAt.getMeasuredHeight(); if (checkDrawerViewAbsoluteGravity(childAt, 3)) { float f2 = measuredWidth; i5 = (-measuredWidth) + ((int) (layoutParams.onScreen * f2)); f = (measuredWidth + i5) / f2; } else { float f3 = measuredWidth; f = (i6 - r11) / f3; i5 = i6 - ((int) (layoutParams.onScreen * f3)); } boolean z3 = f != layoutParams.onScreen ? z2 : false; int i8 = layoutParams.gravity & 112; if (i8 == 16) { int i9 = i4 - i2; int i10 = (i9 - measuredHeight) / 2; if (i10 < layoutParams.topMargin) { i10 = layoutParams.topMargin; } else if (i10 + measuredHeight > i9 - layoutParams.bottomMargin) { i10 = (i9 - layoutParams.bottomMargin) - measuredHeight; } childAt.layout(i5, i10, measuredWidth + i5, measuredHeight + i10); } else if (i8 != 80) { childAt.layout(i5, layoutParams.topMargin, measuredWidth + i5, layoutParams.topMargin + measuredHeight); } else { int i11 = i4 - i2; childAt.layout(i5, (i11 - layoutParams.bottomMargin) - childAt.getMeasuredHeight(), measuredWidth + i5, i11 - layoutParams.bottomMargin); } if (z3) { setDrawerViewOffset(childAt, f); } int i12 = layoutParams.onScreen > 0.0f ? 0 : 4; if (childAt.getVisibility() != i12) { childAt.setVisibility(i12); } } } i7++; z2 = true; } if (sEdgeSizeUsingSystemGestureInsets && (rootWindowInsets = getRootWindowInsets()) != null) { Insets systemGestureInsets = WindowInsetsCompat.toWindowInsetsCompat(rootWindowInsets).getSystemGestureInsets(); ViewDragHelper viewDragHelper = this.mLeftDragger; viewDragHelper.setEdgeSize(Math.max(viewDragHelper.getDefaultEdgeSize(), systemGestureInsets.left)); ViewDragHelper viewDragHelper2 = this.mRightDragger; viewDragHelper2.setEdgeSize(Math.max(viewDragHelper2.getDefaultEdgeSize(), systemGestureInsets.right)); } this.mInLayout = false; this.mFirstLayout = false; } @Override // android.view.View, android.view.ViewParent public void requestLayout() { if (this.mInLayout) { return; } super.requestLayout(); } @Override // android.view.View public void computeScroll() { int childCount = getChildCount(); float f = 0.0f; for (int i = 0; i < childCount; i++) { f = Math.max(f, ((LayoutParams) getChildAt(i).getLayoutParams()).onScreen); } this.mScrimOpacity = f; boolean continueSettling = this.mLeftDragger.continueSettling(true); boolean continueSettling2 = this.mRightDragger.continueSettling(true); if (continueSettling || continueSettling2) { ViewCompat.postInvalidateOnAnimation(this); } } private static boolean hasOpaqueBackground(View view) { Drawable background = view.getBackground(); return background != null && background.getOpacity() == -1; } public void setStatusBarBackground(Drawable drawable) { this.mStatusBarBackground = drawable; invalidate(); } public void setStatusBarBackground(int i) { this.mStatusBarBackground = i != 0 ? ContextCompat.getDrawable(getContext(), i) : null; invalidate(); } public void setStatusBarBackgroundColor(int i) { this.mStatusBarBackground = new ColorDrawable(i); invalidate(); } @Override // android.view.View public void onRtlPropertiesChanged(int i) { resolveShadowDrawables(); } @Override // android.view.View public void onDraw(Canvas canvas) { super.onDraw(canvas); if (!this.mDrawStatusBarBackground || this.mStatusBarBackground == null) { return; } Object obj = this.mLastInsets; int systemWindowInsetTop = obj != null ? ((WindowInsets) obj).getSystemWindowInsetTop() : 0; if (systemWindowInsetTop > 0) { this.mStatusBarBackground.setBounds(0, 0, getWidth(), systemWindowInsetTop); this.mStatusBarBackground.draw(canvas); } } @Override // android.view.ViewGroup protected boolean drawChild(Canvas canvas, View view, long j) { int height = getHeight(); boolean isContentView = isContentView(view); int width = getWidth(); int save = canvas.save(); int i = 0; if (isContentView) { int childCount = getChildCount(); int i2 = 0; for (int i3 = 0; i3 < childCount; i3++) { View childAt = getChildAt(i3); if (childAt != view && childAt.getVisibility() == 0 && hasOpaqueBackground(childAt) && isDrawerView(childAt) && childAt.getHeight() >= height) { if (checkDrawerViewAbsoluteGravity(childAt, 3)) { int right = childAt.getRight(); if (right > i2) { i2 = right; } } else { int left = childAt.getLeft(); if (left < width) { width = left; } } } } canvas.clipRect(i2, 0, width, getHeight()); i = i2; } boolean drawChild = super.drawChild(canvas, view, j); canvas.restoreToCount(save); float f = this.mScrimOpacity; if (f > 0.0f && isContentView) { this.mScrimPaint.setColor((this.mScrimColor & ViewCompat.MEASURED_SIZE_MASK) | (((int) ((((-16777216) & r2) >>> 24) * f)) << 24)); canvas.drawRect(i, 0.0f, width, getHeight(), this.mScrimPaint); } else if (this.mShadowLeftResolved != null && checkDrawerViewAbsoluteGravity(view, 3)) { int intrinsicWidth = this.mShadowLeftResolved.getIntrinsicWidth(); int right2 = view.getRight(); float max = Math.max(0.0f, Math.min(right2 / this.mLeftDragger.getEdgeSize(), 1.0f)); this.mShadowLeftResolved.setBounds(right2, view.getTop(), intrinsicWidth + right2, view.getBottom()); this.mShadowLeftResolved.setAlpha((int) (max * 255.0f)); this.mShadowLeftResolved.draw(canvas); } else if (this.mShadowRightResolved != null && checkDrawerViewAbsoluteGravity(view, 5)) { int intrinsicWidth2 = this.mShadowRightResolved.getIntrinsicWidth(); int left2 = view.getLeft(); float max2 = Math.max(0.0f, Math.min((getWidth() - left2) / this.mRightDragger.getEdgeSize(), 1.0f)); this.mShadowRightResolved.setBounds(left2 - intrinsicWidth2, view.getTop(), left2, view.getBottom()); this.mShadowRightResolved.setAlpha((int) (max2 * 255.0f)); this.mShadowRightResolved.draw(canvas); } return drawChild; } boolean isContentView(View view) { return ((LayoutParams) view.getLayoutParams()).gravity == 0; } boolean isDrawerView(View view) { int absoluteGravity = GravityCompat.getAbsoluteGravity(((LayoutParams) view.getLayoutParams()).gravity, ViewCompat.getLayoutDirection(view)); return ((absoluteGravity & 3) == 0 && (absoluteGravity & 5) == 0) ? false : true; } /* JADX WARN: Code restructure failed: missing block: B:6:0x001b, code lost: if (r0 != 3) goto L13; */ @Override // android.view.ViewGroup /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public boolean onInterceptTouchEvent(android.view.MotionEvent r7) { /* r6 = this; int r0 = r7.getActionMasked() androidx.customview.widget.ViewDragHelper r1 = r6.mLeftDragger boolean r1 = r1.shouldInterceptTouchEvent(r7) androidx.customview.widget.ViewDragHelper r2 = r6.mRightDragger boolean r2 = r2.shouldInterceptTouchEvent(r7) r1 = r1 | r2 r2 = 1 r3 = 0 if (r0 == 0) goto L38 if (r0 == r2) goto L31 r7 = 2 r4 = 3 if (r0 == r7) goto L1e if (r0 == r4) goto L31 goto L36 L1e: androidx.customview.widget.ViewDragHelper r7 = r6.mLeftDragger boolean r7 = r7.checkTouchSlop(r4) if (r7 == 0) goto L36 androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback r7 = r6.mLeftCallback r7.removeCallbacks() androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback r7 = r6.mRightCallback r7.removeCallbacks() goto L36 L31: r6.closeDrawers(r2) r6.mChildrenCanceledTouch = r3 L36: r7 = r3 goto L60 L38: float r0 = r7.getX() float r7 = r7.getY() r6.mInitialMotionX = r0 r6.mInitialMotionY = r7 float r4 = r6.mScrimOpacity r5 = 0 int r4 = (r4 > r5 ? 1 : (r4 == r5 ? 0 : -1)) if (r4 <= 0) goto L5d androidx.customview.widget.ViewDragHelper r4 = r6.mLeftDragger int r0 = (int) r0 int r7 = (int) r7 android.view.View r7 = r4.findTopChildUnder(r0, r7) if (r7 == 0) goto L5d boolean r7 = r6.isContentView(r7) if (r7 == 0) goto L5d r7 = r2 goto L5e L5d: r7 = r3 L5e: r6.mChildrenCanceledTouch = r3 L60: if (r1 != 0) goto L70 if (r7 != 0) goto L70 boolean r7 = r6.hasPeekingDrawer() if (r7 != 0) goto L70 boolean r6 = r6.mChildrenCanceledTouch if (r6 == 0) goto L6f goto L70 L6f: r2 = r3 L70: return r2 */ throw new UnsupportedOperationException("Method not decompiled: androidx.drawerlayout.widget.DrawerLayout.onInterceptTouchEvent(android.view.MotionEvent):boolean"); } @Override // android.view.View public boolean dispatchGenericMotionEvent(MotionEvent motionEvent) { if ((motionEvent.getSource() & 2) == 0 || motionEvent.getAction() == 10 || this.mScrimOpacity <= 0.0f) { return super.dispatchGenericMotionEvent(motionEvent); } int childCount = getChildCount(); if (childCount == 0) { return false; } float x = motionEvent.getX(); float y = motionEvent.getY(); for (int i = childCount - 1; i >= 0; i--) { View childAt = getChildAt(i); if (isInBoundsOfChild(x, y, childAt) && !isContentView(childAt) && dispatchTransformedGenericPointerEvent(motionEvent, childAt)) { return true; } } return false; } /* JADX WARN: Code restructure failed: missing block: B:18:0x0058, code lost: if (getDrawerLockMode(r7) != 2) goto L20; */ @Override // android.view.View /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public boolean onTouchEvent(android.view.MotionEvent r7) { /* r6 = this; androidx.customview.widget.ViewDragHelper r0 = r6.mLeftDragger r0.processTouchEvent(r7) androidx.customview.widget.ViewDragHelper r0 = r6.mRightDragger r0.processTouchEvent(r7) int r0 = r7.getAction() r0 = r0 & 255(0xff, float:3.57E-43) r1 = 0 r2 = 1 if (r0 == 0) goto L5f if (r0 == r2) goto L20 r7 = 3 if (r0 == r7) goto L1a goto L6d L1a: r6.closeDrawers(r2) r6.mChildrenCanceledTouch = r1 goto L6d L20: float r0 = r7.getX() float r7 = r7.getY() androidx.customview.widget.ViewDragHelper r3 = r6.mLeftDragger int r4 = (int) r0 int r5 = (int) r7 android.view.View r3 = r3.findTopChildUnder(r4, r5) if (r3 == 0) goto L5a boolean r3 = r6.isContentView(r3) if (r3 == 0) goto L5a float r3 = r6.mInitialMotionX float r0 = r0 - r3 float r3 = r6.mInitialMotionY float r7 = r7 - r3 androidx.customview.widget.ViewDragHelper r3 = r6.mLeftDragger int r3 = r3.getTouchSlop() float r0 = r0 * r0 float r7 = r7 * r7 float r0 = r0 + r7 int r3 = r3 * r3 float r7 = (float) r3 int r7 = (r0 > r7 ? 1 : (r0 == r7 ? 0 : -1)) if (r7 >= 0) goto L5a android.view.View r7 = r6.findOpenDrawer() if (r7 == 0) goto L5a int r7 = r6.getDrawerLockMode(r7) r0 = 2 if (r7 != r0) goto L5b L5a: r1 = r2 L5b: r6.closeDrawers(r1) goto L6d L5f: float r0 = r7.getX() float r7 = r7.getY() r6.mInitialMotionX = r0 r6.mInitialMotionY = r7 r6.mChildrenCanceledTouch = r1 L6d: return r2 */ throw new UnsupportedOperationException("Method not decompiled: androidx.drawerlayout.widget.DrawerLayout.onTouchEvent(android.view.MotionEvent):boolean"); } @Override // android.view.ViewGroup, android.view.ViewParent public void requestDisallowInterceptTouchEvent(boolean z) { super.requestDisallowInterceptTouchEvent(z); if (z) { closeDrawers(true); } } public void closeDrawers() { closeDrawers(false); } void closeDrawers(boolean z) { boolean smoothSlideViewTo; int childCount = getChildCount(); boolean z2 = false; for (int i = 0; i < childCount; i++) { View childAt = getChildAt(i); LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams(); if (isDrawerView(childAt) && (!z || layoutParams.isPeeking)) { int width = childAt.getWidth(); if (checkDrawerViewAbsoluteGravity(childAt, 3)) { smoothSlideViewTo = this.mLeftDragger.smoothSlideViewTo(childAt, -width, childAt.getTop()); } else { smoothSlideViewTo = this.mRightDragger.smoothSlideViewTo(childAt, getWidth(), childAt.getTop()); } z2 |= smoothSlideViewTo; layoutParams.isPeeking = false; } } this.mLeftCallback.removeCallbacks(); this.mRightCallback.removeCallbacks(); if (z2) { invalidate(); } } @Override // androidx.customview.widget.Openable public void open() { openDrawer(GravityCompat.START); } public void openDrawer(View view) { openDrawer(view, true); } public void openDrawer(View view, boolean z) { if (!isDrawerView(view)) { throw new IllegalArgumentException("View " + view + " is not a sliding drawer"); } LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); if (this.mFirstLayout) { layoutParams.onScreen = 1.0f; layoutParams.openState = 1; updateChildrenImportantForAccessibility(view, true); updateChildAccessibilityAction(view); } else if (z) { layoutParams.openState |= 2; if (checkDrawerViewAbsoluteGravity(view, 3)) { this.mLeftDragger.smoothSlideViewTo(view, 0, view.getTop()); } else { this.mRightDragger.smoothSlideViewTo(view, getWidth() - view.getWidth(), view.getTop()); } } else { moveDrawerToOffset(view, 1.0f); updateDrawerState(0, view); view.setVisibility(0); } invalidate(); } public void openDrawer(int i) { openDrawer(i, true); } public void openDrawer(int i, boolean z) { View findDrawerWithGravity = findDrawerWithGravity(i); if (findDrawerWithGravity == null) { throw new IllegalArgumentException("No drawer view found with gravity " + gravityToString(i)); } openDrawer(findDrawerWithGravity, z); } @Override // androidx.customview.widget.Openable public void close() { closeDrawer(GravityCompat.START); } public void closeDrawer(View view) { closeDrawer(view, true); } public void closeDrawer(View view, boolean z) { if (!isDrawerView(view)) { throw new IllegalArgumentException("View " + view + " is not a sliding drawer"); } LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); if (this.mFirstLayout) { layoutParams.onScreen = 0.0f; layoutParams.openState = 0; } else if (z) { layoutParams.openState |= 4; if (checkDrawerViewAbsoluteGravity(view, 3)) { this.mLeftDragger.smoothSlideViewTo(view, -view.getWidth(), view.getTop()); } else { this.mRightDragger.smoothSlideViewTo(view, getWidth(), view.getTop()); } } else { moveDrawerToOffset(view, 0.0f); updateDrawerState(0, view); view.setVisibility(4); } invalidate(); } public void closeDrawer(int i) { closeDrawer(i, true); } public void closeDrawer(int i, boolean z) { View findDrawerWithGravity = findDrawerWithGravity(i); if (findDrawerWithGravity == null) { throw new IllegalArgumentException("No drawer view found with gravity " + gravityToString(i)); } closeDrawer(findDrawerWithGravity, z); } public boolean isDrawerOpen(View view) { if (isDrawerView(view)) { return (((LayoutParams) view.getLayoutParams()).openState & 1) == 1; } throw new IllegalArgumentException("View " + view + " is not a drawer"); } @Override // androidx.customview.widget.Openable public boolean isOpen() { return isDrawerOpen(GravityCompat.START); } public boolean isDrawerOpen(int i) { View findDrawerWithGravity = findDrawerWithGravity(i); if (findDrawerWithGravity != null) { return isDrawerOpen(findDrawerWithGravity); } return false; } public boolean isDrawerVisible(View view) { if (isDrawerView(view)) { return ((LayoutParams) view.getLayoutParams()).onScreen > 0.0f; } throw new IllegalArgumentException("View " + view + " is not a drawer"); } public boolean isDrawerVisible(int i) { View findDrawerWithGravity = findDrawerWithGravity(i); if (findDrawerWithGravity != null) { return isDrawerVisible(findDrawerWithGravity); } return false; } private boolean hasPeekingDrawer() { int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { if (((LayoutParams) getChildAt(i).getLayoutParams()).isPeeking) { return true; } } return false; } @Override // android.view.ViewGroup protected ViewGroup.LayoutParams generateDefaultLayoutParams() { return new LayoutParams(-1, -1); } @Override // android.view.ViewGroup protected ViewGroup.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); } @Override // android.view.ViewGroup protected boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) { return (layoutParams instanceof LayoutParams) && super.checkLayoutParams(layoutParams); } @Override // android.view.ViewGroup public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attributeSet) { return new LayoutParams(getContext(), attributeSet); } @Override // android.view.ViewGroup, android.view.View public void addFocusables(ArrayList arrayList, int i, int i2) { if (getDescendantFocusability() == 393216) { return; } int childCount = getChildCount(); boolean z = false; for (int i3 = 0; i3 < childCount; i3++) { View childAt = getChildAt(i3); if (isDrawerView(childAt)) { if (isDrawerOpen(childAt)) { childAt.addFocusables(arrayList, i, i2); z = true; } } else { this.mNonDrawerViews.add(childAt); } } if (!z) { int size = this.mNonDrawerViews.size(); for (int i4 = 0; i4 < size; i4++) { View view = this.mNonDrawerViews.get(i4); if (view.getVisibility() == 0) { view.addFocusables(arrayList, i, i2); } } } this.mNonDrawerViews.clear(); } private boolean hasVisibleDrawer() { return findVisibleDrawer() != null; } View findVisibleDrawer() { int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { View childAt = getChildAt(i); if (isDrawerView(childAt) && isDrawerVisible(childAt)) { return childAt; } } return null; } void cancelChildViewTouch() { if (this.mChildrenCanceledTouch) { return; } long uptimeMillis = SystemClock.uptimeMillis(); MotionEvent obtain = MotionEvent.obtain(uptimeMillis, uptimeMillis, 3, 0.0f, 0.0f, 0); int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { getChildAt(i).dispatchTouchEvent(obtain); } obtain.recycle(); this.mChildrenCanceledTouch = true; } @Override // android.view.View, android.view.KeyEvent.Callback public boolean onKeyDown(int i, KeyEvent keyEvent) { if (i == 4 && hasVisibleDrawer()) { keyEvent.startTracking(); return true; } return super.onKeyDown(i, keyEvent); } @Override // android.view.View, android.view.KeyEvent.Callback public boolean onKeyUp(int i, KeyEvent keyEvent) { if (i == 4) { View findVisibleDrawer = findVisibleDrawer(); if (findVisibleDrawer != null && getDrawerLockMode(findVisibleDrawer) == 0) { closeDrawers(); } return findVisibleDrawer != null; } return super.onKeyUp(i, keyEvent); } @Override // android.view.View protected void onRestoreInstanceState(Parcelable parcelable) { View findDrawerWithGravity; if (!(parcelable instanceof SavedState)) { super.onRestoreInstanceState(parcelable); return; } SavedState savedState = (SavedState) parcelable; super.onRestoreInstanceState(savedState.getSuperState()); if (savedState.openDrawerGravity != 0 && (findDrawerWithGravity = findDrawerWithGravity(savedState.openDrawerGravity)) != null) { openDrawer(findDrawerWithGravity); } if (savedState.lockModeLeft != 3) { setDrawerLockMode(savedState.lockModeLeft, 3); } if (savedState.lockModeRight != 3) { setDrawerLockMode(savedState.lockModeRight, 5); } if (savedState.lockModeStart != 3) { setDrawerLockMode(savedState.lockModeStart, GravityCompat.START); } if (savedState.lockModeEnd != 3) { setDrawerLockMode(savedState.lockModeEnd, GravityCompat.END); } } @Override // android.view.View protected Parcelable onSaveInstanceState() { SavedState savedState = new SavedState(super.onSaveInstanceState()); int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { LayoutParams layoutParams = (LayoutParams) getChildAt(i).getLayoutParams(); boolean z = layoutParams.openState == 1; boolean z2 = layoutParams.openState == 2; if (z || z2) { savedState.openDrawerGravity = layoutParams.gravity; break; } } savedState.lockModeLeft = this.mLockModeLeft; savedState.lockModeRight = this.mLockModeRight; savedState.lockModeStart = this.mLockModeStart; savedState.lockModeEnd = this.mLockModeEnd; return savedState; } @Override // android.view.ViewGroup public void addView(View view, int i, ViewGroup.LayoutParams layoutParams) { super.addView(view, i, layoutParams); if (findOpenDrawer() != null || isDrawerView(view)) { ViewCompat.setImportantForAccessibility(view, 4); } else { ViewCompat.setImportantForAccessibility(view, 1); } if (CAN_HIDE_DESCENDANTS) { return; } ViewCompat.setAccessibilityDelegate(view, this.mChildAccessibilityDelegate); } static boolean includeChildForAccessibility(View view) { return (ViewCompat.getImportantForAccessibility(view) == 4 || ViewCompat.getImportantForAccessibility(view) == 2) ? false : true; } /* JADX INFO: Access modifiers changed from: protected */ /* loaded from: classes.dex */ public static class SavedState extends AbsSavedState { public static final Parcelable.Creator CREATOR = new Parcelable.ClassLoaderCreator() { // from class: androidx.drawerlayout.widget.DrawerLayout.SavedState.1 /* JADX WARN: Can't rename method to resolve collision */ @Override // android.os.Parcelable.ClassLoaderCreator public SavedState createFromParcel(Parcel parcel, ClassLoader classLoader) { return new SavedState(parcel, classLoader); } @Override // android.os.Parcelable.Creator public SavedState createFromParcel(Parcel parcel) { return new SavedState(parcel, null); } @Override // android.os.Parcelable.Creator public SavedState[] newArray(int i) { return new SavedState[i]; } }; int lockModeEnd; int lockModeLeft; int lockModeRight; int lockModeStart; int openDrawerGravity; public SavedState(Parcel parcel, ClassLoader classLoader) { super(parcel, classLoader); this.openDrawerGravity = 0; this.openDrawerGravity = parcel.readInt(); this.lockModeLeft = parcel.readInt(); this.lockModeRight = parcel.readInt(); this.lockModeStart = parcel.readInt(); this.lockModeEnd = parcel.readInt(); } public SavedState(Parcelable parcelable) { super(parcelable); this.openDrawerGravity = 0; } @Override // androidx.customview.view.AbsSavedState, android.os.Parcelable public void writeToParcel(Parcel parcel, int i) { super.writeToParcel(parcel, i); parcel.writeInt(this.openDrawerGravity); parcel.writeInt(this.lockModeLeft); parcel.writeInt(this.lockModeRight); parcel.writeInt(this.lockModeStart); parcel.writeInt(this.lockModeEnd); } } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes.dex */ public class ViewDragCallback extends ViewDragHelper.Callback { private final int mAbsGravity; private ViewDragHelper mDragger; private final Runnable mPeekRunnable = new Runnable() { // from class: androidx.drawerlayout.widget.DrawerLayout.ViewDragCallback.1 @Override // java.lang.Runnable public void run() { ViewDragCallback.this.peekDrawer(); } }; @Override // androidx.customview.widget.ViewDragHelper.Callback public boolean onEdgeLock(int i) { return false; } public void setDragger(ViewDragHelper viewDragHelper) { this.mDragger = viewDragHelper; } ViewDragCallback(int i) { this.mAbsGravity = i; } public void removeCallbacks() { DrawerLayout.this.removeCallbacks(this.mPeekRunnable); } @Override // androidx.customview.widget.ViewDragHelper.Callback public boolean tryCaptureView(View view, int i) { return DrawerLayout.this.isDrawerView(view) && DrawerLayout.this.checkDrawerViewAbsoluteGravity(view, this.mAbsGravity) && DrawerLayout.this.getDrawerLockMode(view) == 0; } @Override // androidx.customview.widget.ViewDragHelper.Callback public void onViewDragStateChanged(int i) { DrawerLayout.this.updateDrawerState(i, this.mDragger.getCapturedView()); } @Override // androidx.customview.widget.ViewDragHelper.Callback public void onViewPositionChanged(View view, int i, int i2, int i3, int i4) { float width = (DrawerLayout.this.checkDrawerViewAbsoluteGravity(view, 3) ? i + r3 : DrawerLayout.this.getWidth() - i) / view.getWidth(); DrawerLayout.this.setDrawerViewOffset(view, width); view.setVisibility(width == 0.0f ? 4 : 0); DrawerLayout.this.invalidate(); } @Override // androidx.customview.widget.ViewDragHelper.Callback public void onViewCaptured(View view, int i) { ((LayoutParams) view.getLayoutParams()).isPeeking = false; closeOtherDrawer(); } private void closeOtherDrawer() { View findDrawerWithGravity = DrawerLayout.this.findDrawerWithGravity(this.mAbsGravity == 3 ? 5 : 3); if (findDrawerWithGravity != null) { DrawerLayout.this.closeDrawer(findDrawerWithGravity); } } @Override // androidx.customview.widget.ViewDragHelper.Callback public void onViewReleased(View view, float f, float f2) { int i; float drawerViewOffset = DrawerLayout.this.getDrawerViewOffset(view); int width = view.getWidth(); if (DrawerLayout.this.checkDrawerViewAbsoluteGravity(view, 3)) { i = (f > 0.0f || (f == 0.0f && drawerViewOffset > 0.5f)) ? 0 : -width; } else { int width2 = DrawerLayout.this.getWidth(); if (f < 0.0f || (f == 0.0f && drawerViewOffset > 0.5f)) { width2 -= width; } i = width2; } this.mDragger.settleCapturedViewAt(i, view.getTop()); DrawerLayout.this.invalidate(); } @Override // androidx.customview.widget.ViewDragHelper.Callback public void onEdgeTouched(int i, int i2) { DrawerLayout.this.postDelayed(this.mPeekRunnable, 160L); } void peekDrawer() { View findDrawerWithGravity; int width; int edgeSize = this.mDragger.getEdgeSize(); boolean z = this.mAbsGravity == 3; if (z) { findDrawerWithGravity = DrawerLayout.this.findDrawerWithGravity(3); width = (findDrawerWithGravity != null ? -findDrawerWithGravity.getWidth() : 0) + edgeSize; } else { findDrawerWithGravity = DrawerLayout.this.findDrawerWithGravity(5); width = DrawerLayout.this.getWidth() - edgeSize; } if (findDrawerWithGravity != null) { if (((!z || findDrawerWithGravity.getLeft() >= width) && (z || findDrawerWithGravity.getLeft() <= width)) || DrawerLayout.this.getDrawerLockMode(findDrawerWithGravity) != 0) { return; } LayoutParams layoutParams = (LayoutParams) findDrawerWithGravity.getLayoutParams(); this.mDragger.smoothSlideViewTo(findDrawerWithGravity, width, findDrawerWithGravity.getTop()); layoutParams.isPeeking = true; DrawerLayout.this.invalidate(); closeOtherDrawer(); DrawerLayout.this.cancelChildViewTouch(); } } @Override // androidx.customview.widget.ViewDragHelper.Callback public void onEdgeDragStarted(int i, int i2) { View findDrawerWithGravity; if ((i & 1) == 1) { findDrawerWithGravity = DrawerLayout.this.findDrawerWithGravity(3); } else { findDrawerWithGravity = DrawerLayout.this.findDrawerWithGravity(5); } if (findDrawerWithGravity == null || DrawerLayout.this.getDrawerLockMode(findDrawerWithGravity) != 0) { return; } this.mDragger.captureChildView(findDrawerWithGravity, i2); } @Override // androidx.customview.widget.ViewDragHelper.Callback public int getViewHorizontalDragRange(View view) { if (DrawerLayout.this.isDrawerView(view)) { return view.getWidth(); } return 0; } @Override // androidx.customview.widget.ViewDragHelper.Callback public int clampViewPositionHorizontal(View view, int i, int i2) { if (DrawerLayout.this.checkDrawerViewAbsoluteGravity(view, 3)) { return Math.max(-view.getWidth(), Math.min(i, 0)); } int width = DrawerLayout.this.getWidth(); return Math.max(width - view.getWidth(), Math.min(i, width)); } @Override // androidx.customview.widget.ViewDragHelper.Callback public int clampViewPositionVertical(View view, int i, int i2) { return view.getTop(); } } /* loaded from: classes.dex */ public static class LayoutParams extends ViewGroup.MarginLayoutParams { private static final int FLAG_IS_CLOSING = 4; private static final int FLAG_IS_OPENED = 1; private static final int FLAG_IS_OPENING = 2; public int gravity; boolean isPeeking; float onScreen; int openState; public LayoutParams(Context context, AttributeSet attributeSet) { super(context, attributeSet); this.gravity = 0; TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, DrawerLayout.LAYOUT_ATTRS); this.gravity = obtainStyledAttributes.getInt(0, 0); obtainStyledAttributes.recycle(); } public LayoutParams(int i, int i2) { super(i, i2); this.gravity = 0; } public LayoutParams(int i, int i2, int i3) { this(i, i2); this.gravity = i3; } public LayoutParams(LayoutParams layoutParams) { super((ViewGroup.MarginLayoutParams) layoutParams); this.gravity = 0; this.gravity = layoutParams.gravity; } public LayoutParams(ViewGroup.LayoutParams layoutParams) { super(layoutParams); this.gravity = 0; } public LayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams) { super(marginLayoutParams); this.gravity = 0; } } /* loaded from: classes.dex */ class AccessibilityDelegate extends AccessibilityDelegateCompat { private final Rect mTmpRect = new Rect(); AccessibilityDelegate() { } @Override // androidx.core.view.AccessibilityDelegateCompat public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) { if (DrawerLayout.CAN_HIDE_DESCENDANTS) { super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat); } else { AccessibilityNodeInfoCompat obtain = AccessibilityNodeInfoCompat.obtain(accessibilityNodeInfoCompat); super.onInitializeAccessibilityNodeInfo(view, obtain); accessibilityNodeInfoCompat.setSource(view); Object parentForAccessibility = ViewCompat.getParentForAccessibility(view); if (parentForAccessibility instanceof View) { accessibilityNodeInfoCompat.setParent((View) parentForAccessibility); } copyNodeInfoNoChildren(accessibilityNodeInfoCompat, obtain); obtain.recycle(); addChildrenForAccessibility(accessibilityNodeInfoCompat, (ViewGroup) view); } accessibilityNodeInfoCompat.setClassName(DrawerLayout.ACCESSIBILITY_CLASS_NAME); accessibilityNodeInfoCompat.setFocusable(false); accessibilityNodeInfoCompat.setFocused(false); accessibilityNodeInfoCompat.removeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_FOCUS); accessibilityNodeInfoCompat.removeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLEAR_FOCUS); } @Override // androidx.core.view.AccessibilityDelegateCompat public void onInitializeAccessibilityEvent(View view, AccessibilityEvent accessibilityEvent) { super.onInitializeAccessibilityEvent(view, accessibilityEvent); accessibilityEvent.setClassName(DrawerLayout.ACCESSIBILITY_CLASS_NAME); } @Override // androidx.core.view.AccessibilityDelegateCompat public boolean dispatchPopulateAccessibilityEvent(View view, AccessibilityEvent accessibilityEvent) { if (accessibilityEvent.getEventType() == 32) { List text = accessibilityEvent.getText(); View findVisibleDrawer = DrawerLayout.this.findVisibleDrawer(); if (findVisibleDrawer == null) { return true; } CharSequence drawerTitle = DrawerLayout.this.getDrawerTitle(DrawerLayout.this.getDrawerViewAbsoluteGravity(findVisibleDrawer)); if (drawerTitle == null) { return true; } text.add(drawerTitle); return true; } return super.dispatchPopulateAccessibilityEvent(view, accessibilityEvent); } @Override // androidx.core.view.AccessibilityDelegateCompat public boolean onRequestSendAccessibilityEvent(ViewGroup viewGroup, View view, AccessibilityEvent accessibilityEvent) { if (DrawerLayout.CAN_HIDE_DESCENDANTS || DrawerLayout.includeChildForAccessibility(view)) { return super.onRequestSendAccessibilityEvent(viewGroup, view, accessibilityEvent); } return false; } private void addChildrenForAccessibility(AccessibilityNodeInfoCompat accessibilityNodeInfoCompat, ViewGroup viewGroup) { int childCount = viewGroup.getChildCount(); for (int i = 0; i < childCount; i++) { View childAt = viewGroup.getChildAt(i); if (DrawerLayout.includeChildForAccessibility(childAt)) { accessibilityNodeInfoCompat.addChild(childAt); } } } private void copyNodeInfoNoChildren(AccessibilityNodeInfoCompat accessibilityNodeInfoCompat, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat2) { Rect rect = this.mTmpRect; accessibilityNodeInfoCompat2.getBoundsInScreen(rect); accessibilityNodeInfoCompat.setBoundsInScreen(rect); accessibilityNodeInfoCompat.setVisibleToUser(accessibilityNodeInfoCompat2.isVisibleToUser()); accessibilityNodeInfoCompat.setPackageName(accessibilityNodeInfoCompat2.getPackageName()); accessibilityNodeInfoCompat.setClassName(accessibilityNodeInfoCompat2.getClassName()); accessibilityNodeInfoCompat.setContentDescription(accessibilityNodeInfoCompat2.getContentDescription()); accessibilityNodeInfoCompat.setEnabled(accessibilityNodeInfoCompat2.isEnabled()); accessibilityNodeInfoCompat.setFocused(accessibilityNodeInfoCompat2.isFocused()); accessibilityNodeInfoCompat.setAccessibilityFocused(accessibilityNodeInfoCompat2.isAccessibilityFocused()); accessibilityNodeInfoCompat.setSelected(accessibilityNodeInfoCompat2.isSelected()); accessibilityNodeInfoCompat.addAction(accessibilityNodeInfoCompat2.getActions()); } } /* loaded from: classes.dex */ static final class ChildAccessibilityDelegate extends AccessibilityDelegateCompat { ChildAccessibilityDelegate() { } @Override // androidx.core.view.AccessibilityDelegateCompat public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) { super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat); if (DrawerLayout.includeChildForAccessibility(view)) { return; } accessibilityNodeInfoCompat.setParent(null); } } }