447 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			447 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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);
 | |
|         }
 | |
|     }
 | |
| }
 |