179 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			179 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package androidx.appcompat.view.menu;
 | |
| 
 | |
| import android.content.Context;
 | |
| import android.view.LayoutInflater;
 | |
| import android.view.View;
 | |
| import android.view.ViewGroup;
 | |
| import androidx.appcompat.view.menu.MenuPresenter;
 | |
| import androidx.appcompat.view.menu.MenuView;
 | |
| import java.util.ArrayList;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| public abstract class BaseMenuPresenter implements MenuPresenter {
 | |
|     private MenuPresenter.Callback mCallback;
 | |
|     protected Context mContext;
 | |
|     private int mId;
 | |
|     protected LayoutInflater mInflater;
 | |
|     private int mItemLayoutRes;
 | |
|     protected MenuBuilder mMenu;
 | |
|     private int mMenuLayoutRes;
 | |
|     protected MenuView mMenuView;
 | |
|     protected Context mSystemContext;
 | |
|     protected LayoutInflater mSystemInflater;
 | |
| 
 | |
|     public abstract void bindItemView(MenuItemImpl menuItemImpl, MenuView.ItemView itemView);
 | |
| 
 | |
|     @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;
 | |
|     }
 | |
| 
 | |
|     public MenuPresenter.Callback getCallback() {
 | |
|         return this.mCallback;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public int getId() {
 | |
|         return this.mId;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public void setCallback(MenuPresenter.Callback callback) {
 | |
|         this.mCallback = callback;
 | |
|     }
 | |
| 
 | |
|     public void setId(int i) {
 | |
|         this.mId = i;
 | |
|     }
 | |
| 
 | |
|     public boolean shouldIncludeItem(int i, MenuItemImpl menuItemImpl) {
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public BaseMenuPresenter(Context context, int i, int i2) {
 | |
|         this.mSystemContext = context;
 | |
|         this.mSystemInflater = LayoutInflater.from(context);
 | |
|         this.mMenuLayoutRes = i;
 | |
|         this.mItemLayoutRes = i2;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public void initForMenu(Context context, MenuBuilder menuBuilder) {
 | |
|         this.mContext = context;
 | |
|         this.mInflater = LayoutInflater.from(context);
 | |
|         this.mMenu = menuBuilder;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public MenuView getMenuView(ViewGroup viewGroup) {
 | |
|         if (this.mMenuView == null) {
 | |
|             MenuView menuView = (MenuView) this.mSystemInflater.inflate(this.mMenuLayoutRes, viewGroup, false);
 | |
|             this.mMenuView = menuView;
 | |
|             menuView.initialize(this.mMenu);
 | |
|             updateMenuView(true);
 | |
|         }
 | |
|         return this.mMenuView;
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public void updateMenuView(boolean z) {
 | |
|         ViewGroup viewGroup = (ViewGroup) this.mMenuView;
 | |
|         if (viewGroup == null) {
 | |
|             return;
 | |
|         }
 | |
|         MenuBuilder menuBuilder = this.mMenu;
 | |
|         int i = 0;
 | |
|         if (menuBuilder != null) {
 | |
|             menuBuilder.flagActionItems();
 | |
|             ArrayList<MenuItemImpl> visibleItems = this.mMenu.getVisibleItems();
 | |
|             int size = visibleItems.size();
 | |
|             int i2 = 0;
 | |
|             for (int i3 = 0; i3 < size; i3++) {
 | |
|                 MenuItemImpl menuItemImpl = visibleItems.get(i3);
 | |
|                 if (shouldIncludeItem(i2, menuItemImpl)) {
 | |
|                     View childAt = viewGroup.getChildAt(i2);
 | |
|                     MenuItemImpl itemData = childAt instanceof MenuView.ItemView ? ((MenuView.ItemView) childAt).getItemData() : null;
 | |
|                     View itemView = getItemView(menuItemImpl, childAt, viewGroup);
 | |
|                     if (menuItemImpl != itemData) {
 | |
|                         itemView.setPressed(false);
 | |
|                         itemView.jumpDrawablesToCurrentState();
 | |
|                     }
 | |
|                     if (itemView != childAt) {
 | |
|                         addItemView(itemView, i2);
 | |
|                     }
 | |
|                     i2++;
 | |
|                 }
 | |
|             }
 | |
|             i = i2;
 | |
|         }
 | |
|         while (i < viewGroup.getChildCount()) {
 | |
|             if (!filterLeftoverView(viewGroup, i)) {
 | |
|                 i++;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     protected void addItemView(View view, int i) {
 | |
|         ViewGroup viewGroup = (ViewGroup) view.getParent();
 | |
|         if (viewGroup != null) {
 | |
|             viewGroup.removeView(view);
 | |
|         }
 | |
|         ((ViewGroup) this.mMenuView).addView(view, i);
 | |
|     }
 | |
| 
 | |
|     protected boolean filterLeftoverView(ViewGroup viewGroup, int i) {
 | |
|         viewGroup.removeViewAt(i);
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public MenuView.ItemView createItemView(ViewGroup viewGroup) {
 | |
|         return (MenuView.ItemView) this.mSystemInflater.inflate(this.mItemLayoutRes, viewGroup, false);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     public View getItemView(MenuItemImpl menuItemImpl, View view, ViewGroup viewGroup) {
 | |
|         MenuView.ItemView itemView;
 | |
|         if (view instanceof MenuView.ItemView) {
 | |
|             itemView = (MenuView.ItemView) view;
 | |
|         } else {
 | |
|             itemView = createItemView(viewGroup);
 | |
|         }
 | |
|         bindItemView(menuItemImpl, itemView);
 | |
|         return (View) itemView;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public void onCloseMenu(MenuBuilder menuBuilder, boolean z) {
 | |
|         MenuPresenter.Callback callback = this.mCallback;
 | |
|         if (callback != null) {
 | |
|             callback.onCloseMenu(menuBuilder, z);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     /* JADX WARN: Type inference failed for: r2v4, types: [androidx.appcompat.view.menu.MenuBuilder] */
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public boolean onSubMenuSelected(SubMenuBuilder subMenuBuilder) {
 | |
|         MenuPresenter.Callback callback = this.mCallback;
 | |
|         SubMenuBuilder subMenuBuilder2 = subMenuBuilder;
 | |
|         if (callback == null) {
 | |
|             return false;
 | |
|         }
 | |
|         if (subMenuBuilder == null) {
 | |
|             subMenuBuilder2 = this.mMenu;
 | |
|         }
 | |
|         return callback.onOpenSubMenu(subMenuBuilder2);
 | |
|     }
 | |
| }
 |