ADD week 5
This commit is contained in:
		
							
								
								
									
										126
									
								
								02-Easy5/E5/sources/androidx/appcompat/view/menu/MenuPopup.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								02-Easy5/E5/sources/androidx/appcompat/view/menu/MenuPopup.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,126 @@ | ||||
| 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; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user