ADD week 5

This commit is contained in:
2025-03-31 16:33:42 +02:00
parent 86f265f22d
commit bf645048e6
4927 changed files with 544053 additions and 0 deletions

View File

@ -0,0 +1,38 @@
package com.google.android.material.navigation;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
import android.graphics.Color;
import android.view.View;
import androidx.core.graphics.ColorUtils;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.animation.AnimationUtils;
/* loaded from: classes.dex */
public class DrawerLayoutUtils {
private static final int DEFAULT_SCRIM_COLOR = -1728053248;
private static final int DEFAULT_SCRIM_ALPHA = Color.alpha(DEFAULT_SCRIM_COLOR);
private DrawerLayoutUtils() {
}
public static ValueAnimator.AnimatorUpdateListener getScrimCloseAnimatorUpdateListener(final DrawerLayout drawerLayout) {
return new ValueAnimator.AnimatorUpdateListener() { // from class: com.google.android.material.navigation.DrawerLayoutUtils$$ExternalSyntheticLambda0
@Override // android.animation.ValueAnimator.AnimatorUpdateListener
public final void onAnimationUpdate(ValueAnimator valueAnimator) {
DrawerLayout.this.setScrimColor(ColorUtils.setAlphaComponent(DrawerLayoutUtils.DEFAULT_SCRIM_COLOR, AnimationUtils.lerp(DrawerLayoutUtils.DEFAULT_SCRIM_ALPHA, 0, valueAnimator.getAnimatedFraction())));
}
};
}
public static Animator.AnimatorListener getScrimCloseAnimatorListener(final DrawerLayout drawerLayout, final View view) {
return new AnimatorListenerAdapter() { // from class: com.google.android.material.navigation.DrawerLayoutUtils.1
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
public void onAnimationEnd(Animator animator) {
DrawerLayout.this.closeDrawer(view, false);
DrawerLayout.this.setScrimColor(DrawerLayoutUtils.DEFAULT_SCRIM_COLOR);
}
};
}
}

View File

@ -0,0 +1,772 @@
package com.google.android.material.navigation;
import android.R;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.RippleDrawable;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.view.menu.MenuItemImpl;
import androidx.appcompat.view.menu.MenuView;
import androidx.appcompat.widget.TooltipCompat;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.view.PointerIconCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.core.widget.TextViewCompat;
import com.google.android.material.animation.AnimationUtils;
import com.google.android.material.badge.BadgeDrawable;
import com.google.android.material.badge.BadgeUtils;
import com.google.android.material.motion.MotionUtils;
import com.google.android.material.resources.MaterialResources;
import com.google.android.material.ripple.RippleUtils;
/* loaded from: classes.dex */
public abstract class NavigationBarItemView extends FrameLayout implements MenuView.ItemView {
private static final ActiveIndicatorTransform ACTIVE_INDICATOR_LABELED_TRANSFORM;
private static final ActiveIndicatorTransform ACTIVE_INDICATOR_UNLABELED_TRANSFORM;
private static final int[] CHECKED_STATE_SET = {R.attr.state_checked};
private static final int INVALID_ITEM_POSITION = -1;
private ValueAnimator activeIndicatorAnimator;
private int activeIndicatorDesiredHeight;
private int activeIndicatorDesiredWidth;
private boolean activeIndicatorEnabled;
private int activeIndicatorLabelPadding;
private int activeIndicatorMarginHorizontal;
private float activeIndicatorProgress;
private boolean activeIndicatorResizeable;
private ActiveIndicatorTransform activeIndicatorTransform;
private final View activeIndicatorView;
private int activeTextAppearance;
private BadgeDrawable badgeDrawable;
private final ImageView icon;
private final FrameLayout iconContainer;
private ColorStateList iconTint;
private boolean initialized;
private boolean isShifting;
Drawable itemBackground;
private MenuItemImpl itemData;
private int itemPaddingBottom;
private int itemPaddingTop;
private int itemPosition;
private ColorStateList itemRippleColor;
private final ViewGroup labelGroup;
private int labelVisibilityMode;
private final TextView largeLabel;
private Drawable originalIconDrawable;
private float scaleDownFactor;
private float scaleUpFactor;
private float shiftAmount;
private final TextView smallLabel;
private Drawable wrappedIconDrawable;
private void calculateTextScaleFactors(float f, float f2) {
this.shiftAmount = f - f2;
this.scaleUpFactor = (f2 * 1.0f) / f;
this.scaleDownFactor = (f * 1.0f) / f2;
}
private View getIconOrContainer() {
FrameLayout frameLayout = this.iconContainer;
return frameLayout != null ? frameLayout : this.icon;
}
private boolean hasBadge() {
return this.badgeDrawable != null;
}
private boolean isActiveIndicatorResizeableAndUnlabeled() {
return this.activeIndicatorResizeable && this.labelVisibilityMode == 2;
}
public BadgeDrawable getBadge() {
return this.badgeDrawable;
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public MenuItemImpl getItemData() {
return this.itemData;
}
protected abstract int getItemLayoutResId();
public int getItemPosition() {
return this.itemPosition;
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public boolean prefersCondensedTitle() {
return false;
}
public void setActiveIndicatorResizeable(boolean z) {
this.activeIndicatorResizeable = z;
}
public void setItemPosition(int i) {
this.itemPosition = i;
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public void setShortcut(boolean z, char c) {
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public boolean showsIcon() {
return true;
}
static {
ACTIVE_INDICATOR_LABELED_TRANSFORM = new ActiveIndicatorTransform();
ACTIVE_INDICATOR_UNLABELED_TRANSFORM = new ActiveIndicatorUnlabeledTransform();
}
public NavigationBarItemView(Context context) {
super(context);
this.initialized = false;
this.itemPosition = -1;
this.activeTextAppearance = 0;
this.activeIndicatorTransform = ACTIVE_INDICATOR_LABELED_TRANSFORM;
this.activeIndicatorProgress = 0.0f;
this.activeIndicatorEnabled = false;
this.activeIndicatorDesiredWidth = 0;
this.activeIndicatorDesiredHeight = 0;
this.activeIndicatorResizeable = false;
this.activeIndicatorMarginHorizontal = 0;
LayoutInflater.from(context).inflate(getItemLayoutResId(), (ViewGroup) this, true);
this.iconContainer = (FrameLayout) findViewById(com.google.android.material.R.id.navigation_bar_item_icon_container);
this.activeIndicatorView = findViewById(com.google.android.material.R.id.navigation_bar_item_active_indicator_view);
ImageView imageView = (ImageView) findViewById(com.google.android.material.R.id.navigation_bar_item_icon_view);
this.icon = imageView;
ViewGroup viewGroup = (ViewGroup) findViewById(com.google.android.material.R.id.navigation_bar_item_labels_group);
this.labelGroup = viewGroup;
TextView textView = (TextView) findViewById(com.google.android.material.R.id.navigation_bar_item_small_label_view);
this.smallLabel = textView;
TextView textView2 = (TextView) findViewById(com.google.android.material.R.id.navigation_bar_item_large_label_view);
this.largeLabel = textView2;
setBackgroundResource(getItemBackgroundResId());
this.itemPaddingTop = getResources().getDimensionPixelSize(getItemDefaultMarginResId());
this.itemPaddingBottom = viewGroup.getPaddingBottom();
this.activeIndicatorLabelPadding = getResources().getDimensionPixelSize(com.google.android.material.R.dimen.m3_navigation_item_active_indicator_label_padding);
ViewCompat.setImportantForAccessibility(textView, 2);
ViewCompat.setImportantForAccessibility(textView2, 2);
setFocusable(true);
calculateTextScaleFactors(textView.getTextSize(), textView2.getTextSize());
if (imageView != null) {
imageView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { // from class: com.google.android.material.navigation.NavigationBarItemView.1
@Override // android.view.View.OnLayoutChangeListener
public void onLayoutChange(View view, int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8) {
if (NavigationBarItemView.this.icon.getVisibility() == 0) {
NavigationBarItemView navigationBarItemView = NavigationBarItemView.this;
navigationBarItemView.tryUpdateBadgeBounds(navigationBarItemView.icon);
}
}
});
}
}
@Override // android.view.View
protected int getSuggestedMinimumWidth() {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) this.labelGroup.getLayoutParams();
return Math.max(getSuggestedIconWidth(), layoutParams.leftMargin + this.labelGroup.getMeasuredWidth() + layoutParams.rightMargin);
}
@Override // android.view.View
protected int getSuggestedMinimumHeight() {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) this.labelGroup.getLayoutParams();
return getSuggestedIconHeight() + (this.labelGroup.getVisibility() == 0 ? this.activeIndicatorLabelPadding : 0) + layoutParams.topMargin + this.labelGroup.getMeasuredHeight() + layoutParams.bottomMargin;
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public void initialize(MenuItemImpl menuItemImpl, int i) {
CharSequence title;
this.itemData = menuItemImpl;
setCheckable(menuItemImpl.isCheckable());
setChecked(menuItemImpl.isChecked());
setEnabled(menuItemImpl.isEnabled());
setIcon(menuItemImpl.getIcon());
setTitle(menuItemImpl.getTitle());
setId(menuItemImpl.getItemId());
if (!TextUtils.isEmpty(menuItemImpl.getContentDescription())) {
setContentDescription(menuItemImpl.getContentDescription());
}
if (!TextUtils.isEmpty(menuItemImpl.getTooltipText())) {
title = menuItemImpl.getTooltipText();
} else {
title = menuItemImpl.getTitle();
}
if (Build.VERSION.SDK_INT > 23) {
TooltipCompat.setTooltipText(this, title);
}
setVisibility(menuItemImpl.isVisible() ? 0 : 8);
this.initialized = true;
}
void clear() {
removeBadge();
this.itemData = null;
this.activeIndicatorProgress = 0.0f;
this.initialized = false;
}
public void setShifting(boolean z) {
if (this.isShifting != z) {
this.isShifting = z;
refreshChecked();
}
}
public void setLabelVisibilityMode(int i) {
if (this.labelVisibilityMode != i) {
this.labelVisibilityMode = i;
updateActiveIndicatorTransform();
updateActiveIndicatorLayoutParams(getWidth());
refreshChecked();
}
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public void setTitle(CharSequence charSequence) {
this.smallLabel.setText(charSequence);
this.largeLabel.setText(charSequence);
MenuItemImpl menuItemImpl = this.itemData;
if (menuItemImpl == null || TextUtils.isEmpty(menuItemImpl.getContentDescription())) {
setContentDescription(charSequence);
}
MenuItemImpl menuItemImpl2 = this.itemData;
if (menuItemImpl2 != null && !TextUtils.isEmpty(menuItemImpl2.getTooltipText())) {
charSequence = this.itemData.getTooltipText();
}
if (Build.VERSION.SDK_INT > 23) {
TooltipCompat.setTooltipText(this, charSequence);
}
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public void setCheckable(boolean z) {
refreshDrawableState();
}
@Override // android.view.View
protected void onSizeChanged(final int i, int i2, int i3, int i4) {
super.onSizeChanged(i, i2, i3, i4);
post(new Runnable() { // from class: com.google.android.material.navigation.NavigationBarItemView.2
@Override // java.lang.Runnable
public void run() {
NavigationBarItemView.this.updateActiveIndicatorLayoutParams(i);
}
});
}
private void updateActiveIndicatorTransform() {
if (isActiveIndicatorResizeableAndUnlabeled()) {
this.activeIndicatorTransform = ACTIVE_INDICATOR_UNLABELED_TRANSFORM;
} else {
this.activeIndicatorTransform = ACTIVE_INDICATOR_LABELED_TRANSFORM;
}
}
/* JADX INFO: Access modifiers changed from: private */
public void setActiveIndicatorProgress(float f, float f2) {
View view = this.activeIndicatorView;
if (view != null) {
this.activeIndicatorTransform.updateForProgress(f, f2, view);
}
this.activeIndicatorProgress = f;
}
private void maybeAnimateActiveIndicatorToProgress(final float f) {
if (!this.activeIndicatorEnabled || !this.initialized || !ViewCompat.isAttachedToWindow(this)) {
setActiveIndicatorProgress(f, f);
return;
}
ValueAnimator valueAnimator = this.activeIndicatorAnimator;
if (valueAnimator != null) {
valueAnimator.cancel();
this.activeIndicatorAnimator = null;
}
ValueAnimator ofFloat = ValueAnimator.ofFloat(this.activeIndicatorProgress, f);
this.activeIndicatorAnimator = ofFloat;
ofFloat.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { // from class: com.google.android.material.navigation.NavigationBarItemView.3
@Override // android.animation.ValueAnimator.AnimatorUpdateListener
public void onAnimationUpdate(ValueAnimator valueAnimator2) {
NavigationBarItemView.this.setActiveIndicatorProgress(((Float) valueAnimator2.getAnimatedValue()).floatValue(), f);
}
});
this.activeIndicatorAnimator.setInterpolator(MotionUtils.resolveThemeInterpolator(getContext(), com.google.android.material.R.attr.motionEasingEmphasizedInterpolator, AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR));
this.activeIndicatorAnimator.setDuration(MotionUtils.resolveThemeDuration(getContext(), com.google.android.material.R.attr.motionDurationLong2, getResources().getInteger(com.google.android.material.R.integer.material_motion_duration_long_1)));
this.activeIndicatorAnimator.start();
}
private void refreshChecked() {
MenuItemImpl menuItemImpl = this.itemData;
if (menuItemImpl != null) {
setChecked(menuItemImpl.isChecked());
}
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public void setChecked(boolean z) {
this.largeLabel.setPivotX(r0.getWidth() / 2);
this.largeLabel.setPivotY(r0.getBaseline());
this.smallLabel.setPivotX(r0.getWidth() / 2);
this.smallLabel.setPivotY(r0.getBaseline());
maybeAnimateActiveIndicatorToProgress(z ? 1.0f : 0.0f);
int i = this.labelVisibilityMode;
if (i != -1) {
if (i == 0) {
if (z) {
setViewTopMarginAndGravity(getIconOrContainer(), this.itemPaddingTop, 49);
updateViewPaddingBottom(this.labelGroup, this.itemPaddingBottom);
this.largeLabel.setVisibility(0);
} else {
setViewTopMarginAndGravity(getIconOrContainer(), this.itemPaddingTop, 17);
updateViewPaddingBottom(this.labelGroup, 0);
this.largeLabel.setVisibility(4);
}
this.smallLabel.setVisibility(4);
} else if (i == 1) {
updateViewPaddingBottom(this.labelGroup, this.itemPaddingBottom);
if (z) {
setViewTopMarginAndGravity(getIconOrContainer(), (int) (this.itemPaddingTop + this.shiftAmount), 49);
setViewScaleValues(this.largeLabel, 1.0f, 1.0f, 0);
TextView textView = this.smallLabel;
float f = this.scaleUpFactor;
setViewScaleValues(textView, f, f, 4);
} else {
setViewTopMarginAndGravity(getIconOrContainer(), this.itemPaddingTop, 49);
TextView textView2 = this.largeLabel;
float f2 = this.scaleDownFactor;
setViewScaleValues(textView2, f2, f2, 4);
setViewScaleValues(this.smallLabel, 1.0f, 1.0f, 0);
}
} else if (i == 2) {
setViewTopMarginAndGravity(getIconOrContainer(), this.itemPaddingTop, 17);
this.largeLabel.setVisibility(8);
this.smallLabel.setVisibility(8);
}
} else if (this.isShifting) {
if (z) {
setViewTopMarginAndGravity(getIconOrContainer(), this.itemPaddingTop, 49);
updateViewPaddingBottom(this.labelGroup, this.itemPaddingBottom);
this.largeLabel.setVisibility(0);
} else {
setViewTopMarginAndGravity(getIconOrContainer(), this.itemPaddingTop, 17);
updateViewPaddingBottom(this.labelGroup, 0);
this.largeLabel.setVisibility(4);
}
this.smallLabel.setVisibility(4);
} else {
updateViewPaddingBottom(this.labelGroup, this.itemPaddingBottom);
if (z) {
setViewTopMarginAndGravity(getIconOrContainer(), (int) (this.itemPaddingTop + this.shiftAmount), 49);
setViewScaleValues(this.largeLabel, 1.0f, 1.0f, 0);
TextView textView3 = this.smallLabel;
float f3 = this.scaleUpFactor;
setViewScaleValues(textView3, f3, f3, 4);
} else {
setViewTopMarginAndGravity(getIconOrContainer(), this.itemPaddingTop, 49);
TextView textView4 = this.largeLabel;
float f4 = this.scaleDownFactor;
setViewScaleValues(textView4, f4, f4, 4);
setViewScaleValues(this.smallLabel, 1.0f, 1.0f, 0);
}
}
refreshDrawableState();
setSelected(z);
}
@Override // android.view.View
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) {
super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo);
BadgeDrawable badgeDrawable = this.badgeDrawable;
if (badgeDrawable != null && badgeDrawable.isVisible()) {
CharSequence title = this.itemData.getTitle();
if (!TextUtils.isEmpty(this.itemData.getContentDescription())) {
title = this.itemData.getContentDescription();
}
accessibilityNodeInfo.setContentDescription(((Object) title) + ", " + ((Object) this.badgeDrawable.getContentDescription()));
}
AccessibilityNodeInfoCompat wrap = AccessibilityNodeInfoCompat.wrap(accessibilityNodeInfo);
wrap.setCollectionItemInfo(AccessibilityNodeInfoCompat.CollectionItemInfoCompat.obtain(0, 1, getItemVisiblePosition(), 1, false, isSelected()));
if (isSelected()) {
wrap.setClickable(false);
wrap.removeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK);
}
wrap.setRoleDescription(getResources().getString(com.google.android.material.R.string.item_view_role_description));
}
private int getItemVisiblePosition() {
ViewGroup viewGroup = (ViewGroup) getParent();
int indexOfChild = viewGroup.indexOfChild(this);
int i = 0;
for (int i2 = 0; i2 < indexOfChild; i2++) {
View childAt = viewGroup.getChildAt(i2);
if ((childAt instanceof NavigationBarItemView) && childAt.getVisibility() == 0) {
i++;
}
}
return i;
}
private static void setViewTopMarginAndGravity(View view, int i, int i2) {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) view.getLayoutParams();
layoutParams.topMargin = i;
layoutParams.bottomMargin = i;
layoutParams.gravity = i2;
view.setLayoutParams(layoutParams);
}
private static void setViewScaleValues(View view, float f, float f2, int i) {
view.setScaleX(f);
view.setScaleY(f2);
view.setVisibility(i);
}
private static void updateViewPaddingBottom(View view, int i) {
view.setPadding(view.getPaddingLeft(), view.getPaddingTop(), view.getPaddingRight(), i);
}
@Override // android.view.View, androidx.appcompat.view.menu.MenuView.ItemView
public void setEnabled(boolean z) {
super.setEnabled(z);
this.smallLabel.setEnabled(z);
this.largeLabel.setEnabled(z);
this.icon.setEnabled(z);
if (z) {
ViewCompat.setPointerIcon(this, PointerIconCompat.getSystemIcon(getContext(), PointerIconCompat.TYPE_HAND));
} else {
ViewCompat.setPointerIcon(this, null);
}
}
@Override // android.view.ViewGroup, android.view.View
public int[] onCreateDrawableState(int i) {
int[] onCreateDrawableState = super.onCreateDrawableState(i + 1);
MenuItemImpl menuItemImpl = this.itemData;
if (menuItemImpl != null && menuItemImpl.isCheckable() && this.itemData.isChecked()) {
mergeDrawableStates(onCreateDrawableState, CHECKED_STATE_SET);
}
return onCreateDrawableState;
}
@Override // androidx.appcompat.view.menu.MenuView.ItemView
public void setIcon(Drawable drawable) {
if (drawable == this.originalIconDrawable) {
return;
}
this.originalIconDrawable = drawable;
if (drawable != null) {
Drawable.ConstantState constantState = drawable.getConstantState();
if (constantState != null) {
drawable = constantState.newDrawable();
}
drawable = DrawableCompat.wrap(drawable).mutate();
this.wrappedIconDrawable = drawable;
ColorStateList colorStateList = this.iconTint;
if (colorStateList != null) {
DrawableCompat.setTintList(drawable, colorStateList);
}
}
this.icon.setImageDrawable(drawable);
}
public void setIconTintList(ColorStateList colorStateList) {
Drawable drawable;
this.iconTint = colorStateList;
if (this.itemData == null || (drawable = this.wrappedIconDrawable) == null) {
return;
}
DrawableCompat.setTintList(drawable, colorStateList);
this.wrappedIconDrawable.invalidateSelf();
}
public void setIconSize(int i) {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) this.icon.getLayoutParams();
layoutParams.width = i;
layoutParams.height = i;
this.icon.setLayoutParams(layoutParams);
}
public void setTextAppearanceInactive(int i) {
setTextAppearanceWithoutFontScaling(this.smallLabel, i);
calculateTextScaleFactors(this.smallLabel.getTextSize(), this.largeLabel.getTextSize());
}
public void setTextAppearanceActive(int i) {
this.activeTextAppearance = i;
setTextAppearanceWithoutFontScaling(this.largeLabel, i);
calculateTextScaleFactors(this.smallLabel.getTextSize(), this.largeLabel.getTextSize());
}
public void setTextAppearanceActiveBoldEnabled(boolean z) {
setTextAppearanceActive(this.activeTextAppearance);
TextView textView = this.largeLabel;
textView.setTypeface(textView.getTypeface(), z ? 1 : 0);
}
private static void setTextAppearanceWithoutFontScaling(TextView textView, int i) {
TextViewCompat.setTextAppearance(textView, i);
int unscaledTextSize = MaterialResources.getUnscaledTextSize(textView.getContext(), i, 0);
if (unscaledTextSize != 0) {
textView.setTextSize(0, unscaledTextSize);
}
}
public void setTextColor(ColorStateList colorStateList) {
if (colorStateList != null) {
this.smallLabel.setTextColor(colorStateList);
this.largeLabel.setTextColor(colorStateList);
}
}
public void setItemBackground(int i) {
setItemBackground(i == 0 ? null : ContextCompat.getDrawable(getContext(), i));
}
public void setItemBackground(Drawable drawable) {
if (drawable != null && drawable.getConstantState() != null) {
drawable = drawable.getConstantState().newDrawable().mutate();
}
this.itemBackground = drawable;
refreshItemBackground();
}
public void setItemRippleColor(ColorStateList colorStateList) {
this.itemRippleColor = colorStateList;
refreshItemBackground();
}
private void refreshItemBackground() {
Drawable drawable = this.itemBackground;
RippleDrawable rippleDrawable = null;
boolean z = true;
if (this.itemRippleColor != null) {
Drawable activeIndicatorDrawable = getActiveIndicatorDrawable();
if (this.activeIndicatorEnabled && getActiveIndicatorDrawable() != null && this.iconContainer != null && activeIndicatorDrawable != null) {
rippleDrawable = new RippleDrawable(RippleUtils.sanitizeRippleDrawableColor(this.itemRippleColor), null, activeIndicatorDrawable);
z = false;
} else if (drawable == null) {
drawable = createItemBackgroundCompat(this.itemRippleColor);
}
}
FrameLayout frameLayout = this.iconContainer;
if (frameLayout != null) {
frameLayout.setPadding(0, 0, 0, 0);
this.iconContainer.setForeground(rippleDrawable);
}
ViewCompat.setBackground(this, drawable);
if (Build.VERSION.SDK_INT >= 26) {
setDefaultFocusHighlightEnabled(z);
}
}
private static Drawable createItemBackgroundCompat(ColorStateList colorStateList) {
return new RippleDrawable(RippleUtils.convertToRippleDrawableColor(colorStateList), null, null);
}
public void setItemPaddingTop(int i) {
if (this.itemPaddingTop != i) {
this.itemPaddingTop = i;
refreshChecked();
}
}
public void setItemPaddingBottom(int i) {
if (this.itemPaddingBottom != i) {
this.itemPaddingBottom = i;
refreshChecked();
}
}
public void setActiveIndicatorLabelPadding(int i) {
if (this.activeIndicatorLabelPadding != i) {
this.activeIndicatorLabelPadding = i;
refreshChecked();
}
}
public void setActiveIndicatorEnabled(boolean z) {
this.activeIndicatorEnabled = z;
refreshItemBackground();
View view = this.activeIndicatorView;
if (view != null) {
view.setVisibility(z ? 0 : 8);
requestLayout();
}
}
public void setActiveIndicatorWidth(int i) {
this.activeIndicatorDesiredWidth = i;
updateActiveIndicatorLayoutParams(getWidth());
}
/* JADX INFO: Access modifiers changed from: private */
public void updateActiveIndicatorLayoutParams(int i) {
if (this.activeIndicatorView == null || i <= 0) {
return;
}
int min = Math.min(this.activeIndicatorDesiredWidth, i - (this.activeIndicatorMarginHorizontal * 2));
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) this.activeIndicatorView.getLayoutParams();
layoutParams.height = isActiveIndicatorResizeableAndUnlabeled() ? min : this.activeIndicatorDesiredHeight;
layoutParams.width = min;
this.activeIndicatorView.setLayoutParams(layoutParams);
}
public void setActiveIndicatorHeight(int i) {
this.activeIndicatorDesiredHeight = i;
updateActiveIndicatorLayoutParams(getWidth());
}
public void setActiveIndicatorMarginHorizontal(int i) {
this.activeIndicatorMarginHorizontal = i;
updateActiveIndicatorLayoutParams(getWidth());
}
public Drawable getActiveIndicatorDrawable() {
View view = this.activeIndicatorView;
if (view == null) {
return null;
}
return view.getBackground();
}
public void setActiveIndicatorDrawable(Drawable drawable) {
View view = this.activeIndicatorView;
if (view == null) {
return;
}
view.setBackgroundDrawable(drawable);
refreshItemBackground();
}
@Override // android.view.ViewGroup, android.view.View
public boolean dispatchTouchEvent(MotionEvent motionEvent) {
FrameLayout frameLayout = this.iconContainer;
if (frameLayout != null && this.activeIndicatorEnabled) {
frameLayout.dispatchTouchEvent(motionEvent);
}
return super.dispatchTouchEvent(motionEvent);
}
void setBadge(BadgeDrawable badgeDrawable) {
if (this.badgeDrawable == badgeDrawable) {
return;
}
if (hasBadge() && this.icon != null) {
Log.w("NavigationBar", "Multiple badges shouldn't be attached to one item.");
tryRemoveBadgeFromAnchor(this.icon);
}
this.badgeDrawable = badgeDrawable;
ImageView imageView = this.icon;
if (imageView != null) {
tryAttachBadgeToAnchor(imageView);
}
}
void removeBadge() {
tryRemoveBadgeFromAnchor(this.icon);
}
/* JADX INFO: Access modifiers changed from: private */
public void tryUpdateBadgeBounds(View view) {
if (hasBadge()) {
BadgeUtils.setBadgeDrawableBounds(this.badgeDrawable, view, getCustomParentForBadge(view));
}
}
private void tryAttachBadgeToAnchor(View view) {
if (hasBadge() && view != null) {
setClipChildren(false);
setClipToPadding(false);
BadgeUtils.attachBadgeDrawable(this.badgeDrawable, view, getCustomParentForBadge(view));
}
}
private void tryRemoveBadgeFromAnchor(View view) {
if (hasBadge()) {
if (view != null) {
setClipChildren(true);
setClipToPadding(true);
BadgeUtils.detachBadgeDrawable(this.badgeDrawable, view);
}
this.badgeDrawable = null;
}
}
private FrameLayout getCustomParentForBadge(View view) {
if (view == this.icon && BadgeUtils.USE_COMPAT_PARENT) {
return (FrameLayout) this.icon.getParent();
}
return null;
}
private int getSuggestedIconWidth() {
BadgeDrawable badgeDrawable = this.badgeDrawable;
int minimumWidth = badgeDrawable == null ? 0 : badgeDrawable.getMinimumWidth() - this.badgeDrawable.getHorizontalOffset();
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) getIconOrContainer().getLayoutParams();
return Math.max(minimumWidth, layoutParams.leftMargin) + this.icon.getMeasuredWidth() + Math.max(minimumWidth, layoutParams.rightMargin);
}
private int getSuggestedIconHeight() {
return ((FrameLayout.LayoutParams) getIconOrContainer().getLayoutParams()).topMargin + getIconOrContainer().getMeasuredHeight();
}
protected int getItemBackgroundResId() {
return com.google.android.material.R.drawable.mtrl_navigation_bar_item_background;
}
protected int getItemDefaultMarginResId() {
return com.google.android.material.R.dimen.mtrl_navigation_bar_item_default_margin;
}
private static class ActiveIndicatorTransform {
private static final float ALPHA_FRACTION = 0.2f;
private static final float SCALE_X_HIDDEN = 0.4f;
private static final float SCALE_X_SHOWN = 1.0f;
protected float calculateScaleY(float f, float f2) {
return 1.0f;
}
private ActiveIndicatorTransform() {
}
protected float calculateAlpha(float f, float f2) {
return AnimationUtils.lerp(0.0f, 1.0f, f2 == 0.0f ? 0.8f : 0.0f, f2 == 0.0f ? 1.0f : 0.2f, f);
}
protected float calculateScaleX(float f, float f2) {
return AnimationUtils.lerp(SCALE_X_HIDDEN, 1.0f, f);
}
public void updateForProgress(float f, float f2, View view) {
view.setScaleX(calculateScaleX(f, f2));
view.setScaleY(calculateScaleY(f, f2));
view.setAlpha(calculateAlpha(f, f2));
}
}
private static class ActiveIndicatorUnlabeledTransform extends ActiveIndicatorTransform {
private ActiveIndicatorUnlabeledTransform() {
super();
}
@Override // com.google.android.material.navigation.NavigationBarItemView.ActiveIndicatorTransform
protected float calculateScaleY(float f, float f2) {
return calculateScaleX(f, f2);
}
}
}

View File

@ -0,0 +1,43 @@
package com.google.android.material.navigation;
import android.content.Context;
import android.view.MenuItem;
import android.view.SubMenu;
import androidx.appcompat.view.menu.MenuBuilder;
import androidx.appcompat.view.menu.MenuItemImpl;
/* loaded from: classes.dex */
public final class NavigationBarMenu extends MenuBuilder {
private final int maxItemCount;
private final Class<?> viewClass;
public int getMaxItemCount() {
return this.maxItemCount;
}
public NavigationBarMenu(Context context, Class<?> cls, int i) {
super(context);
this.viewClass = cls;
this.maxItemCount = i;
}
@Override // androidx.appcompat.view.menu.MenuBuilder, android.view.Menu
public SubMenu addSubMenu(int i, int i2, int i3, CharSequence charSequence) {
throw new UnsupportedOperationException(this.viewClass.getSimpleName() + " does not support submenus");
}
@Override // androidx.appcompat.view.menu.MenuBuilder
protected MenuItem addInternal(int i, int i2, int i3, CharSequence charSequence) {
if (size() + 1 > this.maxItemCount) {
String simpleName = this.viewClass.getSimpleName();
throw new IllegalArgumentException("Maximum number of items supported by " + simpleName + " is " + this.maxItemCount + ". Limit can be checked with " + simpleName + "#getMaxItemCount()");
}
stopDispatchingItemsChanged();
MenuItem addInternal = super.addInternal(i, i2, i3, charSequence);
if (addInternal instanceof MenuItemImpl) {
((MenuItemImpl) addInternal).setExclusiveCheckable(true);
}
startDispatchingItemsChanged();
return addInternal;
}
}

View File

@ -0,0 +1,691 @@
package com.google.android.material.navigation;
import android.R;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
import android.util.SparseArray;
import android.util.TypedValue;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityNodeInfo;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.view.menu.MenuBuilder;
import androidx.appcompat.view.menu.MenuItemImpl;
import androidx.appcompat.view.menu.MenuView;
import androidx.core.util.Pools;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.transition.AutoTransition;
import androidx.transition.TransitionManager;
import androidx.transition.TransitionSet;
import com.google.android.material.animation.AnimationUtils;
import com.google.android.material.badge.BadgeDrawable;
import com.google.android.material.internal.TextScale;
import com.google.android.material.motion.MotionUtils;
import com.google.android.material.shape.MaterialShapeDrawable;
import com.google.android.material.shape.ShapeAppearanceModel;
import java.util.HashSet;
/* loaded from: classes.dex */
public abstract class NavigationBarMenuView extends ViewGroup implements MenuView {
private static final int[] CHECKED_STATE_SET = {R.attr.state_checked};
private static final int[] DISABLED_STATE_SET = {-16842910};
private static final int ITEM_POOL_SIZE = 5;
private static final int NO_PADDING = -1;
private final SparseArray<BadgeDrawable> badgeDrawables;
private NavigationBarItemView[] buttons;
private ColorStateList itemActiveIndicatorColor;
private boolean itemActiveIndicatorEnabled;
private int itemActiveIndicatorHeight;
private int itemActiveIndicatorLabelPadding;
private int itemActiveIndicatorMarginHorizontal;
private boolean itemActiveIndicatorResizeable;
private ShapeAppearanceModel itemActiveIndicatorShapeAppearance;
private int itemActiveIndicatorWidth;
private Drawable itemBackground;
private int itemBackgroundRes;
private int itemIconSize;
private ColorStateList itemIconTint;
private int itemPaddingBottom;
private int itemPaddingTop;
private final Pools.Pool<NavigationBarItemView> itemPool;
private ColorStateList itemRippleColor;
private int itemTextAppearanceActive;
private boolean itemTextAppearanceActiveBoldEnabled;
private int itemTextAppearanceInactive;
private final ColorStateList itemTextColorDefault;
private ColorStateList itemTextColorFromUser;
private int labelVisibilityMode;
private MenuBuilder menu;
private final View.OnClickListener onClickListener;
private final SparseArray<View.OnTouchListener> onTouchListeners;
private NavigationBarPresenter presenter;
private int selectedItemId;
private int selectedItemPosition;
private final TransitionSet set;
private boolean isValidId(int i) {
return i != -1;
}
protected abstract NavigationBarItemView createNavigationBarItemView(Context context);
public int getActiveIndicatorLabelPadding() {
return this.itemActiveIndicatorLabelPadding;
}
SparseArray<BadgeDrawable> getBadgeDrawables() {
return this.badgeDrawables;
}
public ColorStateList getIconTintList() {
return this.itemIconTint;
}
public ColorStateList getItemActiveIndicatorColor() {
return this.itemActiveIndicatorColor;
}
public boolean getItemActiveIndicatorEnabled() {
return this.itemActiveIndicatorEnabled;
}
public int getItemActiveIndicatorHeight() {
return this.itemActiveIndicatorHeight;
}
public int getItemActiveIndicatorMarginHorizontal() {
return this.itemActiveIndicatorMarginHorizontal;
}
public ShapeAppearanceModel getItemActiveIndicatorShapeAppearance() {
return this.itemActiveIndicatorShapeAppearance;
}
public int getItemActiveIndicatorWidth() {
return this.itemActiveIndicatorWidth;
}
@Deprecated
public int getItemBackgroundRes() {
return this.itemBackgroundRes;
}
public int getItemIconSize() {
return this.itemIconSize;
}
public int getItemPaddingBottom() {
return this.itemPaddingBottom;
}
public int getItemPaddingTop() {
return this.itemPaddingTop;
}
public ColorStateList getItemRippleColor() {
return this.itemRippleColor;
}
public int getItemTextAppearanceActive() {
return this.itemTextAppearanceActive;
}
public int getItemTextAppearanceInactive() {
return this.itemTextAppearanceInactive;
}
public ColorStateList getItemTextColor() {
return this.itemTextColorFromUser;
}
public int getLabelVisibilityMode() {
return this.labelVisibilityMode;
}
protected MenuBuilder getMenu() {
return this.menu;
}
public int getSelectedItemId() {
return this.selectedItemId;
}
protected int getSelectedItemPosition() {
return this.selectedItemPosition;
}
@Override // androidx.appcompat.view.menu.MenuView
public int getWindowAnimations() {
return 0;
}
@Override // androidx.appcompat.view.menu.MenuView
public void initialize(MenuBuilder menuBuilder) {
this.menu = menuBuilder;
}
protected boolean isItemActiveIndicatorResizeable() {
return this.itemActiveIndicatorResizeable;
}
protected boolean isShifting(int i, int i2) {
if (i == -1) {
if (i2 > 3) {
return true;
}
} else if (i == 0) {
return true;
}
return false;
}
public void setLabelVisibilityMode(int i) {
this.labelVisibilityMode = i;
}
public void setPresenter(NavigationBarPresenter navigationBarPresenter) {
this.presenter = navigationBarPresenter;
}
public NavigationBarMenuView(Context context) {
super(context);
this.itemPool = new Pools.SynchronizedPool(5);
this.onTouchListeners = new SparseArray<>(5);
this.selectedItemId = 0;
this.selectedItemPosition = 0;
this.badgeDrawables = new SparseArray<>(5);
this.itemPaddingTop = -1;
this.itemPaddingBottom = -1;
this.itemActiveIndicatorLabelPadding = -1;
this.itemActiveIndicatorResizeable = false;
this.itemTextColorDefault = createDefaultColorStateList(R.attr.textColorSecondary);
if (isInEditMode()) {
this.set = null;
} else {
AutoTransition autoTransition = new AutoTransition();
this.set = autoTransition;
autoTransition.setOrdering(0);
autoTransition.setDuration(MotionUtils.resolveThemeDuration(getContext(), com.google.android.material.R.attr.motionDurationMedium4, getResources().getInteger(com.google.android.material.R.integer.material_motion_duration_long_1)));
autoTransition.setInterpolator(MotionUtils.resolveThemeInterpolator(getContext(), com.google.android.material.R.attr.motionEasingStandard, AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR));
autoTransition.addTransition(new TextScale());
}
this.onClickListener = new View.OnClickListener() { // from class: com.google.android.material.navigation.NavigationBarMenuView.1
@Override // android.view.View.OnClickListener
public void onClick(View view) {
MenuItemImpl itemData = ((NavigationBarItemView) view).getItemData();
if (NavigationBarMenuView.this.menu.performItemAction(itemData, NavigationBarMenuView.this.presenter, 0)) {
return;
}
itemData.setChecked(true);
}
};
ViewCompat.setImportantForAccessibility(this, 1);
}
@Override // android.view.View
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) {
super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo);
AccessibilityNodeInfoCompat.wrap(accessibilityNodeInfo).setCollectionInfo(AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain(1, this.menu.getVisibleItems().size(), false, 1));
}
public void setIconTintList(ColorStateList colorStateList) {
this.itemIconTint = colorStateList;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setIconTintList(colorStateList);
}
}
}
public void setItemIconSize(int i) {
this.itemIconSize = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setIconSize(i);
}
}
}
public void setItemTextColor(ColorStateList colorStateList) {
this.itemTextColorFromUser = colorStateList;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setTextColor(colorStateList);
}
}
}
public void setItemTextAppearanceInactive(int i) {
this.itemTextAppearanceInactive = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setTextAppearanceInactive(i);
ColorStateList colorStateList = this.itemTextColorFromUser;
if (colorStateList != null) {
navigationBarItemView.setTextColor(colorStateList);
}
}
}
}
public void setItemTextAppearanceActive(int i) {
this.itemTextAppearanceActive = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setTextAppearanceActive(i);
ColorStateList colorStateList = this.itemTextColorFromUser;
if (colorStateList != null) {
navigationBarItemView.setTextColor(colorStateList);
}
}
}
}
public void setItemTextAppearanceActiveBoldEnabled(boolean z) {
this.itemTextAppearanceActiveBoldEnabled = z;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setTextAppearanceActiveBoldEnabled(z);
}
}
}
public void setItemBackgroundRes(int i) {
this.itemBackgroundRes = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setItemBackground(i);
}
}
}
public void setItemPaddingTop(int i) {
this.itemPaddingTop = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setItemPaddingTop(i);
}
}
}
public void setItemPaddingBottom(int i) {
this.itemPaddingBottom = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setItemPaddingBottom(i);
}
}
}
public void setActiveIndicatorLabelPadding(int i) {
this.itemActiveIndicatorLabelPadding = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorLabelPadding(i);
}
}
}
public void setItemActiveIndicatorEnabled(boolean z) {
this.itemActiveIndicatorEnabled = z;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorEnabled(z);
}
}
}
public void setItemActiveIndicatorWidth(int i) {
this.itemActiveIndicatorWidth = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorWidth(i);
}
}
}
public void setItemActiveIndicatorHeight(int i) {
this.itemActiveIndicatorHeight = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorHeight(i);
}
}
}
public void setItemActiveIndicatorMarginHorizontal(int i) {
this.itemActiveIndicatorMarginHorizontal = i;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorMarginHorizontal(i);
}
}
}
public void setItemActiveIndicatorShapeAppearance(ShapeAppearanceModel shapeAppearanceModel) {
this.itemActiveIndicatorShapeAppearance = shapeAppearanceModel;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorDrawable(createItemActiveIndicatorDrawable());
}
}
}
protected void setItemActiveIndicatorResizeable(boolean z) {
this.itemActiveIndicatorResizeable = z;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorResizeable(z);
}
}
}
public void setItemActiveIndicatorColor(ColorStateList colorStateList) {
this.itemActiveIndicatorColor = colorStateList;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setActiveIndicatorDrawable(createItemActiveIndicatorDrawable());
}
}
}
private Drawable createItemActiveIndicatorDrawable() {
if (this.itemActiveIndicatorShapeAppearance == null || this.itemActiveIndicatorColor == null) {
return null;
}
MaterialShapeDrawable materialShapeDrawable = new MaterialShapeDrawable(this.itemActiveIndicatorShapeAppearance);
materialShapeDrawable.setFillColor(this.itemActiveIndicatorColor);
return materialShapeDrawable;
}
public void setItemBackground(Drawable drawable) {
this.itemBackground = drawable;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setItemBackground(drawable);
}
}
}
public void setItemRippleColor(ColorStateList colorStateList) {
this.itemRippleColor = colorStateList;
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
navigationBarItemView.setItemRippleColor(colorStateList);
}
}
}
public Drawable getItemBackground() {
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
return (navigationBarItemViewArr == null || navigationBarItemViewArr.length <= 0) ? this.itemBackground : navigationBarItemViewArr[0].getBackground();
}
public void setItemOnTouchListener(int i, View.OnTouchListener onTouchListener) {
if (onTouchListener == null) {
this.onTouchListeners.remove(i);
} else {
this.onTouchListeners.put(i, onTouchListener);
}
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
if (navigationBarItemView.getItemData().getItemId() == i) {
navigationBarItemView.setOnTouchListener(onTouchListener);
}
}
}
}
public 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});
}
public void buildMenuView() {
removeAllViews();
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
if (navigationBarItemView != null) {
this.itemPool.release(navigationBarItemView);
navigationBarItemView.clear();
}
}
}
if (this.menu.size() == 0) {
this.selectedItemId = 0;
this.selectedItemPosition = 0;
this.buttons = null;
return;
}
removeUnusedBadges();
this.buttons = new NavigationBarItemView[this.menu.size()];
boolean isShifting = isShifting(this.labelVisibilityMode, this.menu.getVisibleItems().size());
for (int i = 0; i < this.menu.size(); i++) {
this.presenter.setUpdateSuspended(true);
this.menu.getItem(i).setCheckable(true);
this.presenter.setUpdateSuspended(false);
NavigationBarItemView newItem = getNewItem();
this.buttons[i] = newItem;
newItem.setIconTintList(this.itemIconTint);
newItem.setIconSize(this.itemIconSize);
newItem.setTextColor(this.itemTextColorDefault);
newItem.setTextAppearanceInactive(this.itemTextAppearanceInactive);
newItem.setTextAppearanceActive(this.itemTextAppearanceActive);
newItem.setTextAppearanceActiveBoldEnabled(this.itemTextAppearanceActiveBoldEnabled);
newItem.setTextColor(this.itemTextColorFromUser);
int i2 = this.itemPaddingTop;
if (i2 != -1) {
newItem.setItemPaddingTop(i2);
}
int i3 = this.itemPaddingBottom;
if (i3 != -1) {
newItem.setItemPaddingBottom(i3);
}
int i4 = this.itemActiveIndicatorLabelPadding;
if (i4 != -1) {
newItem.setActiveIndicatorLabelPadding(i4);
}
newItem.setActiveIndicatorWidth(this.itemActiveIndicatorWidth);
newItem.setActiveIndicatorHeight(this.itemActiveIndicatorHeight);
newItem.setActiveIndicatorMarginHorizontal(this.itemActiveIndicatorMarginHorizontal);
newItem.setActiveIndicatorDrawable(createItemActiveIndicatorDrawable());
newItem.setActiveIndicatorResizeable(this.itemActiveIndicatorResizeable);
newItem.setActiveIndicatorEnabled(this.itemActiveIndicatorEnabled);
Drawable drawable = this.itemBackground;
if (drawable != null) {
newItem.setItemBackground(drawable);
} else {
newItem.setItemBackground(this.itemBackgroundRes);
}
newItem.setItemRippleColor(this.itemRippleColor);
newItem.setShifting(isShifting);
newItem.setLabelVisibilityMode(this.labelVisibilityMode);
MenuItemImpl menuItemImpl = (MenuItemImpl) this.menu.getItem(i);
newItem.initialize(menuItemImpl, 0);
newItem.setItemPosition(i);
int itemId = menuItemImpl.getItemId();
newItem.setOnTouchListener(this.onTouchListeners.get(itemId));
newItem.setOnClickListener(this.onClickListener);
int i5 = this.selectedItemId;
if (i5 != 0 && itemId == i5) {
this.selectedItemPosition = i;
}
setBadgeIfNeeded(newItem);
addView(newItem);
}
int min = Math.min(this.menu.size() - 1, this.selectedItemPosition);
this.selectedItemPosition = min;
this.menu.getItem(min).setChecked(true);
}
public void updateMenuView() {
TransitionSet transitionSet;
MenuBuilder menuBuilder = this.menu;
if (menuBuilder == null || this.buttons == null) {
return;
}
int size = menuBuilder.size();
if (size != this.buttons.length) {
buildMenuView();
return;
}
int i = this.selectedItemId;
for (int i2 = 0; i2 < size; i2++) {
MenuItem item = this.menu.getItem(i2);
if (item.isChecked()) {
this.selectedItemId = item.getItemId();
this.selectedItemPosition = i2;
}
}
if (i != this.selectedItemId && (transitionSet = this.set) != null) {
TransitionManager.beginDelayedTransition(this, transitionSet);
}
boolean isShifting = isShifting(this.labelVisibilityMode, this.menu.getVisibleItems().size());
for (int i3 = 0; i3 < size; i3++) {
this.presenter.setUpdateSuspended(true);
this.buttons[i3].setLabelVisibilityMode(this.labelVisibilityMode);
this.buttons[i3].setShifting(isShifting);
this.buttons[i3].initialize((MenuItemImpl) this.menu.getItem(i3), 0);
this.presenter.setUpdateSuspended(false);
}
}
private NavigationBarItemView getNewItem() {
NavigationBarItemView acquire = this.itemPool.acquire();
return acquire == null ? createNavigationBarItemView(getContext()) : acquire;
}
void tryRestoreSelectedItemId(int i) {
int size = this.menu.size();
for (int i2 = 0; i2 < size; i2++) {
MenuItem item = this.menu.getItem(i2);
if (i == item.getItemId()) {
this.selectedItemId = i;
this.selectedItemPosition = i2;
item.setChecked(true);
return;
}
}
}
void restoreBadgeDrawables(SparseArray<BadgeDrawable> sparseArray) {
for (int i = 0; i < sparseArray.size(); i++) {
int keyAt = sparseArray.keyAt(i);
if (this.badgeDrawables.indexOfKey(keyAt) < 0) {
this.badgeDrawables.append(keyAt, sparseArray.get(keyAt));
}
}
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr != null) {
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
BadgeDrawable badgeDrawable = this.badgeDrawables.get(navigationBarItemView.getId());
if (badgeDrawable != null) {
navigationBarItemView.setBadge(badgeDrawable);
}
}
}
}
public BadgeDrawable getBadge(int i) {
return this.badgeDrawables.get(i);
}
BadgeDrawable getOrCreateBadge(int i) {
validateMenuItemId(i);
BadgeDrawable badgeDrawable = this.badgeDrawables.get(i);
if (badgeDrawable == null) {
badgeDrawable = BadgeDrawable.create(getContext());
this.badgeDrawables.put(i, badgeDrawable);
}
NavigationBarItemView findItemView = findItemView(i);
if (findItemView != null) {
findItemView.setBadge(badgeDrawable);
}
return badgeDrawable;
}
void removeBadge(int i) {
validateMenuItemId(i);
NavigationBarItemView findItemView = findItemView(i);
if (findItemView != null) {
findItemView.removeBadge();
}
this.badgeDrawables.put(i, null);
}
private void setBadgeIfNeeded(NavigationBarItemView navigationBarItemView) {
BadgeDrawable badgeDrawable;
int id = navigationBarItemView.getId();
if (isValidId(id) && (badgeDrawable = this.badgeDrawables.get(id)) != null) {
navigationBarItemView.setBadge(badgeDrawable);
}
}
private void removeUnusedBadges() {
HashSet hashSet = new HashSet();
for (int i = 0; i < this.menu.size(); i++) {
hashSet.add(Integer.valueOf(this.menu.getItem(i).getItemId()));
}
for (int i2 = 0; i2 < this.badgeDrawables.size(); i2++) {
int keyAt = this.badgeDrawables.keyAt(i2);
if (!hashSet.contains(Integer.valueOf(keyAt))) {
this.badgeDrawables.delete(keyAt);
}
}
}
public NavigationBarItemView findItemView(int i) {
validateMenuItemId(i);
NavigationBarItemView[] navigationBarItemViewArr = this.buttons;
if (navigationBarItemViewArr == null) {
return null;
}
for (NavigationBarItemView navigationBarItemView : navigationBarItemViewArr) {
if (navigationBarItemView.getId() == i) {
return navigationBarItemView;
}
}
return null;
}
private void validateMenuItemId(int i) {
if (isValidId(i)) {
return;
}
throw new IllegalArgumentException(i + " is not a valid view id");
}
}

View File

@ -0,0 +1,143 @@
package com.google.android.material.navigation;
import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;
import android.view.ViewGroup;
import androidx.appcompat.view.menu.MenuBuilder;
import androidx.appcompat.view.menu.MenuItemImpl;
import androidx.appcompat.view.menu.MenuPresenter;
import androidx.appcompat.view.menu.MenuView;
import androidx.appcompat.view.menu.SubMenuBuilder;
import com.google.android.material.badge.BadgeUtils;
import com.google.android.material.internal.ParcelableSparseArray;
/* loaded from: classes.dex */
public class NavigationBarPresenter implements MenuPresenter {
private int id;
private MenuBuilder menu;
private NavigationBarMenuView menuView;
private boolean updateSuspended = false;
@Override // androidx.appcompat.view.menu.MenuPresenter
public boolean collapseItemActionView(MenuBuilder menuBuilder, MenuItemImpl menuItemImpl) {
return false;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public boolean expandItemActionView(MenuBuilder menuBuilder, MenuItemImpl menuItemImpl) {
return false;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public boolean flagActionItems() {
return false;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public int getId() {
return this.id;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public MenuView getMenuView(ViewGroup viewGroup) {
return this.menuView;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public void onCloseMenu(MenuBuilder menuBuilder, boolean z) {
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public boolean onSubMenuSelected(SubMenuBuilder subMenuBuilder) {
return false;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public void setCallback(MenuPresenter.Callback callback) {
}
public void setId(int i) {
this.id = i;
}
public void setMenuView(NavigationBarMenuView navigationBarMenuView) {
this.menuView = navigationBarMenuView;
}
public void setUpdateSuspended(boolean z) {
this.updateSuspended = z;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public void initForMenu(Context context, MenuBuilder menuBuilder) {
this.menu = menuBuilder;
this.menuView.initialize(menuBuilder);
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public void updateMenuView(boolean z) {
if (this.updateSuspended) {
return;
}
if (z) {
this.menuView.buildMenuView();
} else {
this.menuView.updateMenuView();
}
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public Parcelable onSaveInstanceState() {
SavedState savedState = new SavedState();
savedState.selectedItemId = this.menuView.getSelectedItemId();
savedState.badgeSavedStates = BadgeUtils.createParcelableBadgeStates(this.menuView.getBadgeDrawables());
return savedState;
}
@Override // androidx.appcompat.view.menu.MenuPresenter
public void onRestoreInstanceState(Parcelable parcelable) {
if (parcelable instanceof SavedState) {
SavedState savedState = (SavedState) parcelable;
this.menuView.tryRestoreSelectedItemId(savedState.selectedItemId);
this.menuView.restoreBadgeDrawables(BadgeUtils.createBadgeDrawablesFromSavedStates(this.menuView.getContext(), savedState.badgeSavedStates));
}
}
static class SavedState implements Parcelable {
public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.Creator<SavedState>() { // from class: com.google.android.material.navigation.NavigationBarPresenter.SavedState.1
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public SavedState createFromParcel(Parcel parcel) {
return new SavedState(parcel);
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public SavedState[] newArray(int i) {
return new SavedState[i];
}
};
ParcelableSparseArray badgeSavedStates;
int selectedItemId;
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
SavedState() {
}
SavedState(Parcel parcel) {
this.selectedItemId = parcel.readInt();
this.badgeSavedStates = (ParcelableSparseArray) parcel.readParcelable(getClass().getClassLoader());
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(this.selectedItemId);
parcel.writeParcelable(this.badgeSavedStates, 0);
}
}
}

View File

@ -0,0 +1,446 @@
package com.google.android.material.navigation;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.FrameLayout;
import androidx.appcompat.view.SupportMenuInflater;
import androidx.appcompat.view.menu.MenuBuilder;
import androidx.appcompat.view.menu.MenuView;
import androidx.appcompat.widget.TintTypedArray;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.view.ViewCompat;
import androidx.customview.view.AbsSavedState;
import com.google.android.material.R;
import com.google.android.material.badge.BadgeDrawable;
import com.google.android.material.drawable.DrawableUtils;
import com.google.android.material.internal.ThemeEnforcement;
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.theme.overlay.MaterialThemeOverlay;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/* loaded from: classes.dex */
public abstract class NavigationBarView extends FrameLayout {
public static final int LABEL_VISIBILITY_AUTO = -1;
public static final int LABEL_VISIBILITY_LABELED = 1;
public static final int LABEL_VISIBILITY_SELECTED = 0;
public static final int LABEL_VISIBILITY_UNLABELED = 2;
private static final int MENU_PRESENTER_ID = 1;
private final NavigationBarMenu menu;
private MenuInflater menuInflater;
private final NavigationBarMenuView menuView;
private final NavigationBarPresenter presenter;
private OnItemReselectedListener reselectedListener;
private OnItemSelectedListener selectedListener;
@Retention(RetentionPolicy.SOURCE)
public @interface LabelVisibility {
}
public interface OnItemReselectedListener {
void onNavigationItemReselected(MenuItem menuItem);
}
public interface OnItemSelectedListener {
boolean onNavigationItemSelected(MenuItem menuItem);
}
protected abstract NavigationBarMenuView createNavigationBarMenuView(Context context);
public abstract int getMaxItemCount();
public Menu getMenu() {
return this.menu;
}
public MenuView getMenuView() {
return this.menuView;
}
public NavigationBarPresenter getPresenter() {
return this.presenter;
}
public void setOnItemReselectedListener(OnItemReselectedListener onItemReselectedListener) {
this.reselectedListener = onItemReselectedListener;
}
public void setOnItemSelectedListener(OnItemSelectedListener onItemSelectedListener) {
this.selectedListener = onItemSelectedListener;
}
public NavigationBarView(Context context, AttributeSet attributeSet, int i, int i2) {
super(MaterialThemeOverlay.wrap(context, attributeSet, i, i2), attributeSet, i);
NavigationBarPresenter navigationBarPresenter = new NavigationBarPresenter();
this.presenter = navigationBarPresenter;
Context context2 = getContext();
TintTypedArray obtainTintedStyledAttributes = ThemeEnforcement.obtainTintedStyledAttributes(context2, attributeSet, R.styleable.NavigationBarView, i, i2, R.styleable.NavigationBarView_itemTextAppearanceInactive, R.styleable.NavigationBarView_itemTextAppearanceActive);
NavigationBarMenu navigationBarMenu = new NavigationBarMenu(context2, getClass(), getMaxItemCount());
this.menu = navigationBarMenu;
NavigationBarMenuView createNavigationBarMenuView = createNavigationBarMenuView(context2);
this.menuView = createNavigationBarMenuView;
navigationBarPresenter.setMenuView(createNavigationBarMenuView);
navigationBarPresenter.setId(1);
createNavigationBarMenuView.setPresenter(navigationBarPresenter);
navigationBarMenu.addMenuPresenter(navigationBarPresenter);
navigationBarPresenter.initForMenu(getContext(), navigationBarMenu);
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_itemIconTint)) {
createNavigationBarMenuView.setIconTintList(obtainTintedStyledAttributes.getColorStateList(R.styleable.NavigationBarView_itemIconTint));
} else {
createNavigationBarMenuView.setIconTintList(createNavigationBarMenuView.createDefaultColorStateList(android.R.attr.textColorSecondary));
}
setItemIconSize(obtainTintedStyledAttributes.getDimensionPixelSize(R.styleable.NavigationBarView_itemIconSize, getResources().getDimensionPixelSize(R.dimen.mtrl_navigation_bar_item_default_icon_size)));
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_itemTextAppearanceInactive)) {
setItemTextAppearanceInactive(obtainTintedStyledAttributes.getResourceId(R.styleable.NavigationBarView_itemTextAppearanceInactive, 0));
}
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_itemTextAppearanceActive)) {
setItemTextAppearanceActive(obtainTintedStyledAttributes.getResourceId(R.styleable.NavigationBarView_itemTextAppearanceActive, 0));
}
setItemTextAppearanceActiveBoldEnabled(obtainTintedStyledAttributes.getBoolean(R.styleable.NavigationBarView_itemTextAppearanceActiveBoldEnabled, true));
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_itemTextColor)) {
setItemTextColor(obtainTintedStyledAttributes.getColorStateList(R.styleable.NavigationBarView_itemTextColor));
}
Drawable background = getBackground();
ColorStateList colorStateListOrNull = DrawableUtils.getColorStateListOrNull(background);
if (background == null || colorStateListOrNull != null) {
MaterialShapeDrawable materialShapeDrawable = new MaterialShapeDrawable(ShapeAppearanceModel.builder(context2, attributeSet, i, i2).build());
if (colorStateListOrNull != null) {
materialShapeDrawable.setFillColor(colorStateListOrNull);
}
materialShapeDrawable.initializeElevationOverlay(context2);
ViewCompat.setBackground(this, materialShapeDrawable);
}
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_itemPaddingTop)) {
setItemPaddingTop(obtainTintedStyledAttributes.getDimensionPixelSize(R.styleable.NavigationBarView_itemPaddingTop, 0));
}
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_itemPaddingBottom)) {
setItemPaddingBottom(obtainTintedStyledAttributes.getDimensionPixelSize(R.styleable.NavigationBarView_itemPaddingBottom, 0));
}
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_activeIndicatorLabelPadding)) {
setActiveIndicatorLabelPadding(obtainTintedStyledAttributes.getDimensionPixelSize(R.styleable.NavigationBarView_activeIndicatorLabelPadding, 0));
}
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_elevation)) {
setElevation(obtainTintedStyledAttributes.getDimensionPixelSize(R.styleable.NavigationBarView_elevation, 0));
}
DrawableCompat.setTintList(getBackground().mutate(), MaterialResources.getColorStateList(context2, obtainTintedStyledAttributes, R.styleable.NavigationBarView_backgroundTint));
setLabelVisibilityMode(obtainTintedStyledAttributes.getInteger(R.styleable.NavigationBarView_labelVisibilityMode, -1));
int resourceId = obtainTintedStyledAttributes.getResourceId(R.styleable.NavigationBarView_itemBackground, 0);
if (resourceId != 0) {
createNavigationBarMenuView.setItemBackgroundRes(resourceId);
} else {
setItemRippleColor(MaterialResources.getColorStateList(context2, obtainTintedStyledAttributes, R.styleable.NavigationBarView_itemRippleColor));
}
int resourceId2 = obtainTintedStyledAttributes.getResourceId(R.styleable.NavigationBarView_itemActiveIndicatorStyle, 0);
if (resourceId2 != 0) {
setItemActiveIndicatorEnabled(true);
TypedArray obtainStyledAttributes = context2.obtainStyledAttributes(resourceId2, R.styleable.NavigationBarActiveIndicator);
setItemActiveIndicatorWidth(obtainStyledAttributes.getDimensionPixelSize(R.styleable.NavigationBarActiveIndicator_android_width, 0));
setItemActiveIndicatorHeight(obtainStyledAttributes.getDimensionPixelSize(R.styleable.NavigationBarActiveIndicator_android_height, 0));
setItemActiveIndicatorMarginHorizontal(obtainStyledAttributes.getDimensionPixelOffset(R.styleable.NavigationBarActiveIndicator_marginHorizontal, 0));
setItemActiveIndicatorColor(MaterialResources.getColorStateList(context2, obtainStyledAttributes, R.styleable.NavigationBarActiveIndicator_android_color));
setItemActiveIndicatorShapeAppearance(ShapeAppearanceModel.builder(context2, obtainStyledAttributes.getResourceId(R.styleable.NavigationBarActiveIndicator_shapeAppearance, 0), 0).build());
obtainStyledAttributes.recycle();
}
if (obtainTintedStyledAttributes.hasValue(R.styleable.NavigationBarView_menu)) {
inflateMenu(obtainTintedStyledAttributes.getResourceId(R.styleable.NavigationBarView_menu, 0));
}
obtainTintedStyledAttributes.recycle();
addView(createNavigationBarMenuView);
navigationBarMenu.setCallback(new MenuBuilder.Callback() { // from class: com.google.android.material.navigation.NavigationBarView.1
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public void onMenuModeChange(MenuBuilder menuBuilder) {
}
@Override // androidx.appcompat.view.menu.MenuBuilder.Callback
public boolean onMenuItemSelected(MenuBuilder menuBuilder, MenuItem menuItem) {
if (NavigationBarView.this.reselectedListener == null || menuItem.getItemId() != NavigationBarView.this.getSelectedItemId()) {
return (NavigationBarView.this.selectedListener == null || NavigationBarView.this.selectedListener.onNavigationItemSelected(menuItem)) ? false : true;
}
NavigationBarView.this.reselectedListener.onNavigationItemReselected(menuItem);
return true;
}
});
}
@Override // android.view.ViewGroup, android.view.View
protected void onAttachedToWindow() {
super.onAttachedToWindow();
MaterialShapeUtils.setParentAbsoluteElevation(this);
}
@Override // android.view.View
public void setElevation(float f) {
super.setElevation(f);
MaterialShapeUtils.setElevation(this, f);
}
public void inflateMenu(int i) {
this.presenter.setUpdateSuspended(true);
getMenuInflater().inflate(i, this.menu);
this.presenter.setUpdateSuspended(false);
this.presenter.updateMenuView(true);
}
public ColorStateList getItemIconTintList() {
return this.menuView.getIconTintList();
}
public void setItemIconTintList(ColorStateList colorStateList) {
this.menuView.setIconTintList(colorStateList);
}
public void setItemIconSize(int i) {
this.menuView.setItemIconSize(i);
}
public void setItemIconSizeRes(int i) {
setItemIconSize(getResources().getDimensionPixelSize(i));
}
public int getItemIconSize() {
return this.menuView.getItemIconSize();
}
public ColorStateList getItemTextColor() {
return this.menuView.getItemTextColor();
}
public void setItemTextColor(ColorStateList colorStateList) {
this.menuView.setItemTextColor(colorStateList);
}
@Deprecated
public int getItemBackgroundResource() {
return this.menuView.getItemBackgroundRes();
}
public void setItemBackgroundResource(int i) {
this.menuView.setItemBackgroundRes(i);
}
public Drawable getItemBackground() {
return this.menuView.getItemBackground();
}
public void setItemBackground(Drawable drawable) {
this.menuView.setItemBackground(drawable);
}
public ColorStateList getItemRippleColor() {
return this.menuView.getItemRippleColor();
}
public void setItemRippleColor(ColorStateList colorStateList) {
this.menuView.setItemRippleColor(colorStateList);
}
public int getItemPaddingTop() {
return this.menuView.getItemPaddingTop();
}
public void setItemPaddingTop(int i) {
this.menuView.setItemPaddingTop(i);
}
public int getItemPaddingBottom() {
return this.menuView.getItemPaddingBottom();
}
public void setItemPaddingBottom(int i) {
this.menuView.setItemPaddingBottom(i);
}
public void setActiveIndicatorLabelPadding(int i) {
this.menuView.setActiveIndicatorLabelPadding(i);
}
public int getActiveIndicatorLabelPadding() {
return this.menuView.getActiveIndicatorLabelPadding();
}
public boolean isItemActiveIndicatorEnabled() {
return this.menuView.getItemActiveIndicatorEnabled();
}
public void setItemActiveIndicatorEnabled(boolean z) {
this.menuView.setItemActiveIndicatorEnabled(z);
}
public int getItemActiveIndicatorWidth() {
return this.menuView.getItemActiveIndicatorWidth();
}
public void setItemActiveIndicatorWidth(int i) {
this.menuView.setItemActiveIndicatorWidth(i);
}
public int getItemActiveIndicatorHeight() {
return this.menuView.getItemActiveIndicatorHeight();
}
public void setItemActiveIndicatorHeight(int i) {
this.menuView.setItemActiveIndicatorHeight(i);
}
public int getItemActiveIndicatorMarginHorizontal() {
return this.menuView.getItemActiveIndicatorMarginHorizontal();
}
public void setItemActiveIndicatorMarginHorizontal(int i) {
this.menuView.setItemActiveIndicatorMarginHorizontal(i);
}
public ShapeAppearanceModel getItemActiveIndicatorShapeAppearance() {
return this.menuView.getItemActiveIndicatorShapeAppearance();
}
public void setItemActiveIndicatorShapeAppearance(ShapeAppearanceModel shapeAppearanceModel) {
this.menuView.setItemActiveIndicatorShapeAppearance(shapeAppearanceModel);
}
public ColorStateList getItemActiveIndicatorColor() {
return this.menuView.getItemActiveIndicatorColor();
}
public void setItemActiveIndicatorColor(ColorStateList colorStateList) {
this.menuView.setItemActiveIndicatorColor(colorStateList);
}
public int getSelectedItemId() {
return this.menuView.getSelectedItemId();
}
public void setSelectedItemId(int i) {
MenuItem findItem = this.menu.findItem(i);
if (findItem == null || this.menu.performItemAction(findItem, this.presenter, 0)) {
return;
}
findItem.setChecked(true);
}
public void setLabelVisibilityMode(int i) {
if (this.menuView.getLabelVisibilityMode() != i) {
this.menuView.setLabelVisibilityMode(i);
this.presenter.updateMenuView(false);
}
}
public int getLabelVisibilityMode() {
return this.menuView.getLabelVisibilityMode();
}
public void setItemTextAppearanceInactive(int i) {
this.menuView.setItemTextAppearanceInactive(i);
}
public int getItemTextAppearanceInactive() {
return this.menuView.getItemTextAppearanceInactive();
}
public void setItemTextAppearanceActive(int i) {
this.menuView.setItemTextAppearanceActive(i);
}
public void setItemTextAppearanceActiveBoldEnabled(boolean z) {
this.menuView.setItemTextAppearanceActiveBoldEnabled(z);
}
public int getItemTextAppearanceActive() {
return this.menuView.getItemTextAppearanceActive();
}
public void setItemOnTouchListener(int i, View.OnTouchListener onTouchListener) {
this.menuView.setItemOnTouchListener(i, onTouchListener);
}
public BadgeDrawable getBadge(int i) {
return this.menuView.getBadge(i);
}
public BadgeDrawable getOrCreateBadge(int i) {
return this.menuView.getOrCreateBadge(i);
}
public void removeBadge(int i) {
this.menuView.removeBadge(i);
}
private MenuInflater getMenuInflater() {
if (this.menuInflater == null) {
this.menuInflater = new SupportMenuInflater(getContext());
}
return this.menuInflater;
}
@Override // android.view.View
protected Parcelable onSaveInstanceState() {
SavedState savedState = new SavedState(super.onSaveInstanceState());
savedState.menuPresenterState = new Bundle();
this.menu.savePresenterStates(savedState.menuPresenterState);
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.menuPresenterState);
}
static class SavedState extends AbsSavedState {
public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.ClassLoaderCreator<SavedState>() { // from class: com.google.android.material.navigation.NavigationBarView.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];
}
};
Bundle menuPresenterState;
public SavedState(Parcelable parcelable) {
super(parcelable);
}
public SavedState(Parcel parcel, ClassLoader classLoader) {
super(parcel, classLoader);
readFromParcel(parcel, classLoader == null ? getClass().getClassLoader() : classLoader);
}
@Override // androidx.customview.view.AbsSavedState, android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
super.writeToParcel(parcel, i);
parcel.writeBundle(this.menuPresenterState);
}
private void readFromParcel(Parcel parcel, ClassLoader classLoader) {
this.menuPresenterState = parcel.readBundle(classLoader);
}
}
}

View File

@ -0,0 +1,549 @@
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.constraintlayout.core.widgets.analyzer.BasicMeasure;
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: classes.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;
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.<init>(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);
}
@Override // com.google.android.material.internal.ScrimInsetsFrameLayout, android.view.ViewGroup, android.view.View
protected 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();
}
}
}
@Override // com.google.android.material.internal.ScrimInsetsFrameLayout, android.view.ViewGroup, android.view.View
protected 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), BasicMeasure.EXACTLY);
} else if (mode == 0) {
i = View.MeasureSpec.makeMeasureSpec(this.maxWidth, BasicMeasure.EXACTLY);
}
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.m245xb790515(canvas2);
}
});
}
/* renamed from: lambda$dispatchDraw$0$com-google-android-material-navigation-NavigationView, reason: not valid java name */
/* synthetic */ void m245xb790515(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<DrawerLayout, DrawerLayout.LayoutParams> 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<DrawerLayout, DrawerLayout.LayoutParams> 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);
}
public static class SavedState extends AbsSavedState {
public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.ClassLoaderCreator<SavedState>() { // 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);
}
}
}