package com.google.android.material.navigation; import android.R; import android.app.Activity; import android.content.Context; import android.content.res.ColorStateList; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.graphics.drawable.InsetDrawable; import android.os.Build; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; import android.util.Pair; import android.util.TypedValue; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.view.ViewTreeObserver; import androidx.activity.BackEventCompat; import androidx.appcompat.content.res.AppCompatResources; import androidx.appcompat.view.SupportMenuInflater; import androidx.appcompat.view.menu.MenuItemImpl; import androidx.appcompat.widget.TintTypedArray; import androidx.core.content.ContextCompat; import androidx.core.view.GravityCompat; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; import androidx.customview.view.AbsSavedState; import androidx.drawerlayout.widget.DrawerLayout; import com.google.android.material.canvas.CanvasCompat; import com.google.android.material.internal.ContextUtils; import com.google.android.material.internal.NavigationMenu; import com.google.android.material.internal.NavigationMenuPresenter; import com.google.android.material.internal.ScrimInsetsFrameLayout; import com.google.android.material.internal.WindowUtils; import com.google.android.material.motion.MaterialBackHandler; import com.google.android.material.motion.MaterialBackOrchestrator; import com.google.android.material.motion.MaterialSideContainerBackHelper; import com.google.android.material.resources.MaterialResources; import com.google.android.material.shape.MaterialShapeDrawable; import com.google.android.material.shape.MaterialShapeUtils; import com.google.android.material.shape.ShapeAppearanceModel; import com.google.android.material.shape.ShapeableDelegate; /* loaded from: classes2.dex */ public class NavigationView extends ScrimInsetsFrameLayout implements MaterialBackHandler { private static final int PRESENTER_NAVIGATION_VIEW_ID = 1; private final DrawerLayout.DrawerListener backDrawerListener; private final MaterialBackOrchestrator backOrchestrator; private boolean bottomInsetScrimEnabled; private int drawerLayoutCornerSize; OnNavigationItemSelectedListener listener; private final int maxWidth; private final NavigationMenu menu; private MenuInflater menuInflater; private ViewTreeObserver.OnGlobalLayoutListener onGlobalLayoutListener; private final NavigationMenuPresenter presenter; private final ShapeableDelegate shapeableDelegate; private final MaterialSideContainerBackHelper sideContainerBackHelper; private final int[] tmpLocation; private boolean topInsetScrimEnabled; private static final int[] CHECKED_STATE_SET = {R.attr.state_checked}; private static final int[] DISABLED_STATE_SET = {-16842910}; private static final int DEF_STYLE_RES = com.google.android.material.R.style.Widget_Design_NavigationView; /* loaded from: classes2.dex */ public interface OnNavigationItemSelectedListener { boolean onNavigationItemSelected(MenuItem menuItem); } MaterialSideContainerBackHelper getBackHelper() { return this.sideContainerBackHelper; } public Menu getMenu() { return this.menu; } public boolean isBottomInsetScrimEnabled() { return this.bottomInsetScrimEnabled; } public boolean isTopInsetScrimEnabled() { return this.topInsetScrimEnabled; } public void setBottomInsetScrimEnabled(boolean z) { this.bottomInsetScrimEnabled = z; } public void setNavigationItemSelectedListener(OnNavigationItemSelectedListener onNavigationItemSelectedListener) { this.listener = onNavigationItemSelectedListener; } public void setTopInsetScrimEnabled(boolean z) { this.topInsetScrimEnabled = z; } public NavigationView(Context context) { this(context, null); } public NavigationView(Context context, AttributeSet attributeSet) { this(context, attributeSet, com.google.android.material.R.attr.navigationViewStyle); } /* JADX WARN: Illegal instructions before constructor call */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public NavigationView(android.content.Context r17, android.util.AttributeSet r18, int r19) { /* Method dump skipped, instructions count: 572 To view this dump add '--comments-level debug' option */ throw new UnsupportedOperationException("Method not decompiled: com.google.android.material.navigation.NavigationView.(android.content.Context, android.util.AttributeSet, int):void"); } @Override // android.view.View public void setOverScrollMode(int i) { super.setOverScrollMode(i); NavigationMenuPresenter navigationMenuPresenter = this.presenter; if (navigationMenuPresenter != null) { navigationMenuPresenter.setOverScrollMode(i); } } public void setForceCompatClippingEnabled(boolean z) { this.shapeableDelegate.setForceCompatClippingEnabled(this, z); } private void maybeUpdateCornerSizeForDrawerLayout(int i, int i2) { if ((getParent() instanceof DrawerLayout) && (getLayoutParams() instanceof DrawerLayout.LayoutParams) && this.drawerLayoutCornerSize > 0 && (getBackground() instanceof MaterialShapeDrawable)) { boolean z = GravityCompat.getAbsoluteGravity(((DrawerLayout.LayoutParams) getLayoutParams()).gravity, ViewCompat.getLayoutDirection(this)) == 3; MaterialShapeDrawable materialShapeDrawable = (MaterialShapeDrawable) getBackground(); ShapeAppearanceModel.Builder allCornerSizes = materialShapeDrawable.getShapeAppearanceModel().toBuilder().setAllCornerSizes(this.drawerLayoutCornerSize); if (z) { allCornerSizes.setTopLeftCornerSize(0.0f); allCornerSizes.setBottomLeftCornerSize(0.0f); } else { allCornerSizes.setTopRightCornerSize(0.0f); allCornerSizes.setBottomRightCornerSize(0.0f); } ShapeAppearanceModel build = allCornerSizes.build(); materialShapeDrawable.setShapeAppearanceModel(build); this.shapeableDelegate.onShapeAppearanceChanged(this, build); this.shapeableDelegate.onMaskChanged(this, new RectF(0.0f, 0.0f, i, i2)); this.shapeableDelegate.setOffsetZeroCornerEdgeBoundsEnabled(this, true); } } private boolean hasShapeAppearance(TintTypedArray tintTypedArray) { return tintTypedArray.hasValue(com.google.android.material.R.styleable.NavigationView_itemShapeAppearance) || tintTypedArray.hasValue(com.google.android.material.R.styleable.NavigationView_itemShapeAppearanceOverlay); } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.android.material.internal.ScrimInsetsFrameLayout, android.view.ViewGroup, android.view.View public void onAttachedToWindow() { super.onAttachedToWindow(); MaterialShapeUtils.setParentAbsoluteElevation(this); ViewParent parent = getParent(); if ((parent instanceof DrawerLayout) && this.backOrchestrator.shouldListenForBackCallbacks()) { DrawerLayout drawerLayout = (DrawerLayout) parent; drawerLayout.removeDrawerListener(this.backDrawerListener); drawerLayout.addDrawerListener(this.backDrawerListener); if (drawerLayout.isDrawerOpen(this)) { this.backOrchestrator.startListeningForBackCallbacksWithPriorityOverlay(); } } } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.android.material.internal.ScrimInsetsFrameLayout, android.view.ViewGroup, android.view.View public void onDetachedFromWindow() { super.onDetachedFromWindow(); getViewTreeObserver().removeOnGlobalLayoutListener(this.onGlobalLayoutListener); ViewParent parent = getParent(); if (parent instanceof DrawerLayout) { ((DrawerLayout) parent).removeDrawerListener(this.backDrawerListener); } } @Override // android.view.View protected void onSizeChanged(int i, int i2, int i3, int i4) { super.onSizeChanged(i, i2, i3, i4); maybeUpdateCornerSizeForDrawerLayout(i, i2); } @Override // android.view.View public void setElevation(float f) { super.setElevation(f); MaterialShapeUtils.setElevation(this, f); } private Drawable createDefaultItemBackground(TintTypedArray tintTypedArray) { return createDefaultItemDrawable(tintTypedArray, MaterialResources.getColorStateList(getContext(), tintTypedArray, com.google.android.material.R.styleable.NavigationView_itemShapeFillColor)); } private Drawable createDefaultItemDrawable(TintTypedArray tintTypedArray, ColorStateList colorStateList) { MaterialShapeDrawable materialShapeDrawable = new MaterialShapeDrawable(ShapeAppearanceModel.builder(getContext(), tintTypedArray.getResourceId(com.google.android.material.R.styleable.NavigationView_itemShapeAppearance, 0), tintTypedArray.getResourceId(com.google.android.material.R.styleable.NavigationView_itemShapeAppearanceOverlay, 0)).build()); materialShapeDrawable.setFillColor(colorStateList); return new InsetDrawable((Drawable) materialShapeDrawable, tintTypedArray.getDimensionPixelSize(com.google.android.material.R.styleable.NavigationView_itemShapeInsetStart, 0), tintTypedArray.getDimensionPixelSize(com.google.android.material.R.styleable.NavigationView_itemShapeInsetTop, 0), tintTypedArray.getDimensionPixelSize(com.google.android.material.R.styleable.NavigationView_itemShapeInsetEnd, 0), tintTypedArray.getDimensionPixelSize(com.google.android.material.R.styleable.NavigationView_itemShapeInsetBottom, 0)); } @Override // android.view.View protected Parcelable onSaveInstanceState() { SavedState savedState = new SavedState(super.onSaveInstanceState()); savedState.menuState = new Bundle(); this.menu.savePresenterStates(savedState.menuState); return savedState; } @Override // android.view.View protected void onRestoreInstanceState(Parcelable parcelable) { if (!(parcelable instanceof SavedState)) { super.onRestoreInstanceState(parcelable); return; } SavedState savedState = (SavedState) parcelable; super.onRestoreInstanceState(savedState.getSuperState()); this.menu.restorePresenterStates(savedState.menuState); } @Override // android.widget.FrameLayout, android.view.View protected void onMeasure(int i, int i2) { int mode = View.MeasureSpec.getMode(i); if (mode == Integer.MIN_VALUE) { i = View.MeasureSpec.makeMeasureSpec(Math.min(View.MeasureSpec.getSize(i), this.maxWidth), 1073741824); } else if (mode == 0) { i = View.MeasureSpec.makeMeasureSpec(this.maxWidth, 1073741824); } super.onMeasure(i, i2); } @Override // android.view.ViewGroup, android.view.View protected void dispatchDraw(Canvas canvas) { this.shapeableDelegate.maybeClip(canvas, new CanvasCompat.CanvasOperation() { // from class: com.google.android.material.navigation.NavigationView$$ExternalSyntheticLambda0 @Override // com.google.android.material.canvas.CanvasCompat.CanvasOperation public final void run(Canvas canvas2) { NavigationView.this.m5535xb790515(canvas2); } }); } /* JADX INFO: Access modifiers changed from: package-private */ /* renamed from: lambda$dispatchDraw$0$com-google-android-material-navigation-NavigationView, reason: not valid java name */ public /* synthetic */ void m5535xb790515(Canvas canvas) { super.dispatchDraw(canvas); } @Override // com.google.android.material.internal.ScrimInsetsFrameLayout protected void onInsetsChanged(WindowInsetsCompat windowInsetsCompat) { this.presenter.dispatchApplyWindowInsets(windowInsetsCompat); } public void inflateMenu(int i) { this.presenter.setUpdateSuspended(true); getMenuInflater().inflate(i, this.menu); this.presenter.setUpdateSuspended(false); this.presenter.updateMenuView(false); } public View inflateHeaderView(int i) { return this.presenter.inflateHeaderView(i); } public void addHeaderView(View view) { this.presenter.addHeaderView(view); } public void removeHeaderView(View view) { this.presenter.removeHeaderView(view); } public int getHeaderCount() { return this.presenter.getHeaderCount(); } public View getHeaderView(int i) { return this.presenter.getHeaderView(i); } public ColorStateList getItemIconTintList() { return this.presenter.getItemTintList(); } public void setItemIconTintList(ColorStateList colorStateList) { this.presenter.setItemIconTintList(colorStateList); } public ColorStateList getItemTextColor() { return this.presenter.getItemTextColor(); } public void setItemTextColor(ColorStateList colorStateList) { this.presenter.setItemTextColor(colorStateList); } public Drawable getItemBackground() { return this.presenter.getItemBackground(); } public void setItemBackgroundResource(int i) { setItemBackground(ContextCompat.getDrawable(getContext(), i)); } public void setItemBackground(Drawable drawable) { this.presenter.setItemBackground(drawable); } public int getItemHorizontalPadding() { return this.presenter.getItemHorizontalPadding(); } public void setItemHorizontalPadding(int i) { this.presenter.setItemHorizontalPadding(i); } public void setItemHorizontalPaddingResource(int i) { this.presenter.setItemHorizontalPadding(getResources().getDimensionPixelSize(i)); } public int getItemVerticalPadding() { return this.presenter.getItemVerticalPadding(); } public void setItemVerticalPadding(int i) { this.presenter.setItemVerticalPadding(i); } public void setItemVerticalPaddingResource(int i) { this.presenter.setItemVerticalPadding(getResources().getDimensionPixelSize(i)); } public int getItemIconPadding() { return this.presenter.getItemIconPadding(); } public void setItemIconPadding(int i) { this.presenter.setItemIconPadding(i); } public void setItemIconPaddingResource(int i) { this.presenter.setItemIconPadding(getResources().getDimensionPixelSize(i)); } public void setCheckedItem(int i) { MenuItem findItem = this.menu.findItem(i); if (findItem != null) { this.presenter.setCheckedItem((MenuItemImpl) findItem); } } public void setCheckedItem(MenuItem menuItem) { MenuItem findItem = this.menu.findItem(menuItem.getItemId()); if (findItem != null) { this.presenter.setCheckedItem((MenuItemImpl) findItem); return; } throw new IllegalArgumentException("Called setCheckedItem(MenuItem) with an item that is not in the current menu."); } public MenuItem getCheckedItem() { return this.presenter.getCheckedItem(); } public void setItemTextAppearance(int i) { this.presenter.setItemTextAppearance(i); } public void setItemTextAppearanceActiveBoldEnabled(boolean z) { this.presenter.setItemTextAppearanceActiveBoldEnabled(z); } public void setItemIconSize(int i) { this.presenter.setItemIconSize(i); } public void setItemMaxLines(int i) { this.presenter.setItemMaxLines(i); } public int getItemMaxLines() { return this.presenter.getItemMaxLines(); } public int getDividerInsetStart() { return this.presenter.getDividerInsetStart(); } public void setDividerInsetStart(int i) { this.presenter.setDividerInsetStart(i); } public int getDividerInsetEnd() { return this.presenter.getDividerInsetEnd(); } public void setDividerInsetEnd(int i) { this.presenter.setDividerInsetEnd(i); } public int getSubheaderInsetStart() { return this.presenter.getSubheaderInsetStart(); } public void setSubheaderInsetStart(int i) { this.presenter.setSubheaderInsetStart(i); } public int getSubheaderInsetEnd() { return this.presenter.getSubheaderInsetEnd(); } public void setSubheaderInsetEnd(int i) { this.presenter.setSubheaderInsetEnd(i); } @Override // com.google.android.material.motion.MaterialBackHandler public void startBackProgress(BackEventCompat backEventCompat) { requireDrawerLayoutParent(); this.sideContainerBackHelper.startBackProgress(backEventCompat); } @Override // com.google.android.material.motion.MaterialBackHandler public void updateBackProgress(BackEventCompat backEventCompat) { this.sideContainerBackHelper.updateBackProgress(backEventCompat, ((DrawerLayout.LayoutParams) requireDrawerLayoutParent().second).gravity); } @Override // com.google.android.material.motion.MaterialBackHandler public void handleBackInvoked() { Pair requireDrawerLayoutParent = requireDrawerLayoutParent(); DrawerLayout drawerLayout = (DrawerLayout) requireDrawerLayoutParent.first; BackEventCompat onHandleBackInvoked = this.sideContainerBackHelper.onHandleBackInvoked(); if (onHandleBackInvoked == null || Build.VERSION.SDK_INT < 34) { drawerLayout.closeDrawer(this); return; } this.sideContainerBackHelper.finishBackProgress(onHandleBackInvoked, ((DrawerLayout.LayoutParams) requireDrawerLayoutParent.second).gravity, DrawerLayoutUtils.getScrimCloseAnimatorListener(drawerLayout, this), DrawerLayoutUtils.getScrimCloseAnimatorUpdateListener(drawerLayout)); } @Override // com.google.android.material.motion.MaterialBackHandler public void cancelBackProgress() { requireDrawerLayoutParent(); this.sideContainerBackHelper.cancelBackProgress(); } private Pair requireDrawerLayoutParent() { ViewParent parent = getParent(); ViewGroup.LayoutParams layoutParams = getLayoutParams(); if ((parent instanceof DrawerLayout) && (layoutParams instanceof DrawerLayout.LayoutParams)) { return new Pair<>((DrawerLayout) parent, (DrawerLayout.LayoutParams) layoutParams); } throw new IllegalStateException("NavigationView back progress requires the direct parent view to be a DrawerLayout."); } private MenuInflater getMenuInflater() { if (this.menuInflater == null) { this.menuInflater = new SupportMenuInflater(getContext()); } return this.menuInflater; } private ColorStateList createDefaultColorStateList(int i) { TypedValue typedValue = new TypedValue(); if (!getContext().getTheme().resolveAttribute(i, typedValue, true)) { return null; } ColorStateList colorStateList = AppCompatResources.getColorStateList(getContext(), typedValue.resourceId); if (!getContext().getTheme().resolveAttribute(androidx.appcompat.R.attr.colorPrimary, typedValue, true)) { return null; } int i2 = typedValue.data; int defaultColor = colorStateList.getDefaultColor(); int[] iArr = DISABLED_STATE_SET; return new ColorStateList(new int[][]{iArr, CHECKED_STATE_SET, EMPTY_STATE_SET}, new int[]{colorStateList.getColorForState(iArr, defaultColor), i2, defaultColor}); } private void setupInsetScrimsListener() { this.onGlobalLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() { // from class: com.google.android.material.navigation.NavigationView.3 @Override // android.view.ViewTreeObserver.OnGlobalLayoutListener public void onGlobalLayout() { NavigationView navigationView = NavigationView.this; navigationView.getLocationOnScreen(navigationView.tmpLocation); boolean z = true; boolean z2 = NavigationView.this.tmpLocation[1] == 0; NavigationView.this.presenter.setBehindStatusBar(z2); NavigationView navigationView2 = NavigationView.this; navigationView2.setDrawTopInsetForeground(z2 && navigationView2.isTopInsetScrimEnabled()); NavigationView.this.setDrawLeftInsetForeground(NavigationView.this.tmpLocation[0] == 0 || NavigationView.this.tmpLocation[0] + NavigationView.this.getWidth() == 0); Activity activity = ContextUtils.getActivity(NavigationView.this.getContext()); if (activity != null) { Rect currentWindowBounds = WindowUtils.getCurrentWindowBounds(activity); boolean z3 = currentWindowBounds.height() - NavigationView.this.getHeight() == NavigationView.this.tmpLocation[1]; boolean z4 = Color.alpha(activity.getWindow().getNavigationBarColor()) != 0; NavigationView navigationView3 = NavigationView.this; navigationView3.setDrawBottomInsetForeground(z3 && z4 && navigationView3.isBottomInsetScrimEnabled()); if (currentWindowBounds.width() != NavigationView.this.tmpLocation[0] && currentWindowBounds.width() - NavigationView.this.getWidth() != NavigationView.this.tmpLocation[0]) { z = false; } NavigationView.this.setDrawRightInsetForeground(z); } } }; getViewTreeObserver().addOnGlobalLayoutListener(this.onGlobalLayoutListener); } /* loaded from: classes2.dex */ public static class SavedState extends AbsSavedState { public static final Parcelable.Creator CREATOR = new Parcelable.ClassLoaderCreator() { // from class: com.google.android.material.navigation.NavigationView.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]; } }; public Bundle menuState; public SavedState(Parcel parcel, ClassLoader classLoader) { super(parcel, classLoader); this.menuState = parcel.readBundle(classLoader); } public SavedState(Parcelable parcelable) { super(parcelable); } @Override // androidx.customview.view.AbsSavedState, android.os.Parcelable public void writeToParcel(Parcel parcel, int i) { super.writeToParcel(parcel, i); parcel.writeBundle(this.menuState); } } }