ADD week 5
This commit is contained in:
		| @@ -0,0 +1,100 @@ | ||||
| package androidx.appcompat.view.menu; | ||||
|  | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| import android.widget.BaseAdapter; | ||||
| import androidx.appcompat.view.menu.MenuView; | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| public class MenuAdapter extends BaseAdapter { | ||||
|     MenuBuilder mAdapterMenu; | ||||
|     private int mExpandedIndex = -1; | ||||
|     private boolean mForceShowIcon; | ||||
|     private final LayoutInflater mInflater; | ||||
|     private final int mItemLayoutRes; | ||||
|     private final boolean mOverflowOnly; | ||||
|  | ||||
|     public MenuBuilder getAdapterMenu() { | ||||
|         return this.mAdapterMenu; | ||||
|     } | ||||
|  | ||||
|     public boolean getForceShowIcon() { | ||||
|         return this.mForceShowIcon; | ||||
|     } | ||||
|  | ||||
|     @Override // android.widget.Adapter | ||||
|     public long getItemId(int i) { | ||||
|         return i; | ||||
|     } | ||||
|  | ||||
|     public void setForceShowIcon(boolean z) { | ||||
|         this.mForceShowIcon = z; | ||||
|     } | ||||
|  | ||||
|     public MenuAdapter(MenuBuilder menuBuilder, LayoutInflater layoutInflater, boolean z, int i) { | ||||
|         this.mOverflowOnly = z; | ||||
|         this.mInflater = layoutInflater; | ||||
|         this.mAdapterMenu = menuBuilder; | ||||
|         this.mItemLayoutRes = i; | ||||
|         findExpandedIndex(); | ||||
|     } | ||||
|  | ||||
|     @Override // android.widget.Adapter | ||||
|     public int getCount() { | ||||
|         ArrayList<MenuItemImpl> nonActionItems = this.mOverflowOnly ? this.mAdapterMenu.getNonActionItems() : this.mAdapterMenu.getVisibleItems(); | ||||
|         if (this.mExpandedIndex < 0) { | ||||
|             return nonActionItems.size(); | ||||
|         } | ||||
|         return nonActionItems.size() - 1; | ||||
|     } | ||||
|  | ||||
|     @Override // android.widget.Adapter | ||||
|     public MenuItemImpl getItem(int i) { | ||||
|         ArrayList<MenuItemImpl> nonActionItems = this.mOverflowOnly ? this.mAdapterMenu.getNonActionItems() : this.mAdapterMenu.getVisibleItems(); | ||||
|         int i2 = this.mExpandedIndex; | ||||
|         if (i2 >= 0 && i >= i2) { | ||||
|             i++; | ||||
|         } | ||||
|         return nonActionItems.get(i); | ||||
|     } | ||||
|  | ||||
|     @Override // android.widget.Adapter | ||||
|     public View getView(int i, View view, ViewGroup viewGroup) { | ||||
|         if (view == null) { | ||||
|             view = this.mInflater.inflate(this.mItemLayoutRes, viewGroup, false); | ||||
|         } | ||||
|         int groupId = getItem(i).getGroupId(); | ||||
|         int i2 = i - 1; | ||||
|         ListMenuItemView listMenuItemView = (ListMenuItemView) view; | ||||
|         listMenuItemView.setGroupDividerEnabled(this.mAdapterMenu.isGroupDividerEnabled() && groupId != (i2 >= 0 ? getItem(i2).getGroupId() : groupId)); | ||||
|         MenuView.ItemView itemView = (MenuView.ItemView) view; | ||||
|         if (this.mForceShowIcon) { | ||||
|             listMenuItemView.setForceShowIcon(true); | ||||
|         } | ||||
|         itemView.initialize(getItem(i), 0); | ||||
|         return view; | ||||
|     } | ||||
|  | ||||
|     void findExpandedIndex() { | ||||
|         MenuItemImpl expandedItem = this.mAdapterMenu.getExpandedItem(); | ||||
|         if (expandedItem != null) { | ||||
|             ArrayList<MenuItemImpl> nonActionItems = this.mAdapterMenu.getNonActionItems(); | ||||
|             int size = nonActionItems.size(); | ||||
|             for (int i = 0; i < size; i++) { | ||||
|                 if (nonActionItems.get(i) == expandedItem) { | ||||
|                     this.mExpandedIndex = i; | ||||
|                     return; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         this.mExpandedIndex = -1; | ||||
|     } | ||||
|  | ||||
|     @Override // android.widget.BaseAdapter | ||||
|     public void notifyDataSetChanged() { | ||||
|         findExpandedIndex(); | ||||
|         super.notifyDataSetChanged(); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user