127 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package androidx.appcompat.view.menu;
 | |
| 
 | |
| import android.content.Context;
 | |
| import android.graphics.Rect;
 | |
| import android.view.MenuItem;
 | |
| import android.view.View;
 | |
| import android.view.ViewGroup;
 | |
| import android.widget.AdapterView;
 | |
| import android.widget.FrameLayout;
 | |
| import android.widget.HeaderViewListAdapter;
 | |
| import android.widget.ListAdapter;
 | |
| import android.widget.PopupWindow;
 | |
| 
 | |
| /* JADX INFO: Access modifiers changed from: package-private */
 | |
| /* loaded from: classes.dex */
 | |
| public abstract class MenuPopup implements ShowableListMenu, MenuPresenter, AdapterView.OnItemClickListener {
 | |
|     private Rect mEpicenterBounds;
 | |
| 
 | |
|     public abstract void addMenu(MenuBuilder menuBuilder);
 | |
| 
 | |
|     protected boolean closeMenuOnSubMenuOpened() {
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     @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;
 | |
|     }
 | |
| 
 | |
|     public Rect getEpicenterBounds() {
 | |
|         return this.mEpicenterBounds;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public int getId() {
 | |
|         return 0;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public void initForMenu(Context context, MenuBuilder menuBuilder) {
 | |
|     }
 | |
| 
 | |
|     public abstract void setAnchorView(View view);
 | |
| 
 | |
|     public void setEpicenterBounds(Rect rect) {
 | |
|         this.mEpicenterBounds = rect;
 | |
|     }
 | |
| 
 | |
|     public abstract void setForceShowIcon(boolean z);
 | |
| 
 | |
|     public abstract void setGravity(int i);
 | |
| 
 | |
|     public abstract void setHorizontalOffset(int i);
 | |
| 
 | |
|     public abstract void setOnDismissListener(PopupWindow.OnDismissListener onDismissListener);
 | |
| 
 | |
|     public abstract void setShowTitle(boolean z);
 | |
| 
 | |
|     public abstract void setVerticalOffset(int i);
 | |
| 
 | |
|     MenuPopup() {
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuPresenter
 | |
|     public MenuView getMenuView(ViewGroup viewGroup) {
 | |
|         throw new UnsupportedOperationException("MenuPopups manage their own views");
 | |
|     }
 | |
| 
 | |
|     @Override // android.widget.AdapterView.OnItemClickListener
 | |
|     public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
 | |
|         ListAdapter listAdapter = (ListAdapter) adapterView.getAdapter();
 | |
|         toMenuAdapter(listAdapter).mAdapterMenu.performItemAction((MenuItem) listAdapter.getItem(i), this, closeMenuOnSubMenuOpened() ? 0 : 4);
 | |
|     }
 | |
| 
 | |
|     protected static int measureIndividualMenuWidth(ListAdapter listAdapter, ViewGroup viewGroup, Context context, int i) {
 | |
|         int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, 0);
 | |
|         int makeMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(0, 0);
 | |
|         int count = listAdapter.getCount();
 | |
|         View view = null;
 | |
|         int i2 = 0;
 | |
|         int i3 = 0;
 | |
|         for (int i4 = 0; i4 < count; i4++) {
 | |
|             int itemViewType = listAdapter.getItemViewType(i4);
 | |
|             if (itemViewType != i3) {
 | |
|                 view = null;
 | |
|                 i3 = itemViewType;
 | |
|             }
 | |
|             if (viewGroup == null) {
 | |
|                 viewGroup = new FrameLayout(context);
 | |
|             }
 | |
|             view = listAdapter.getView(i4, view, viewGroup);
 | |
|             view.measure(makeMeasureSpec, makeMeasureSpec2);
 | |
|             int measuredWidth = view.getMeasuredWidth();
 | |
|             if (measuredWidth >= i) {
 | |
|                 return i;
 | |
|             }
 | |
|             if (measuredWidth > i2) {
 | |
|                 i2 = measuredWidth;
 | |
|             }
 | |
|         }
 | |
|         return i2;
 | |
|     }
 | |
| 
 | |
|     protected static MenuAdapter toMenuAdapter(ListAdapter listAdapter) {
 | |
|         if (listAdapter instanceof HeaderViewListAdapter) {
 | |
|             return (MenuAdapter) ((HeaderViewListAdapter) listAdapter).getWrappedAdapter();
 | |
|         }
 | |
|         return (MenuAdapter) listAdapter;
 | |
|     }
 | |
| 
 | |
|     protected static boolean shouldPreserveIconSpacing(MenuBuilder menuBuilder) {
 | |
|         int size = menuBuilder.size();
 | |
|         for (int i = 0; i < size; i++) {
 | |
|             MenuItem item = menuBuilder.getItem(i);
 | |
|             if (item.isVisible() && item.getIcon() != null) {
 | |
|                 return true;
 | |
|             }
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| }
 |