discord-jadx/app/src/main/java/androidx/appcompat/view/menu/MenuAdapter.java

98 lines
3.3 KiB
Java

package androidx.appcompat.view.menu;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import androidx.annotation.RestrictTo;
import androidx.appcompat.view.menu.MenuView;
import java.util.ArrayList;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public class MenuAdapter extends BaseAdapter {
public MenuBuilder mAdapterMenu;
private int mExpandedIndex = -1;
private boolean mForceShowIcon;
private final LayoutInflater mInflater;
private final int mItemLayoutRes;
private final boolean mOverflowOnly;
public MenuAdapter(MenuBuilder menuBuilder, LayoutInflater layoutInflater, boolean z2, int i) {
this.mOverflowOnly = z2;
this.mInflater = layoutInflater;
this.mAdapterMenu = menuBuilder;
this.mItemLayoutRes = i;
findExpandedIndex();
}
public 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;
}
public MenuBuilder getAdapterMenu() {
return this.mAdapterMenu;
}
@Override // android.widget.Adapter
public int getCount() {
ArrayList<MenuItemImpl> nonActionItems = this.mOverflowOnly ? this.mAdapterMenu.getNonActionItems() : this.mAdapterMenu.getVisibleItems();
return this.mExpandedIndex < 0 ? nonActionItems.size() : nonActionItems.size() - 1;
}
public boolean getForceShowIcon() {
return this.mForceShowIcon;
}
@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 long getItemId(int i) {
return (long) 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;
}
@Override // android.widget.BaseAdapter
public void notifyDataSetChanged() {
findExpandedIndex();
super.notifyDataSetChanged();
}
public void setForceShowIcon(boolean z2) {
this.mForceShowIcon = z2;
}
}