jimu-decompiled/sources/androidx/appcompat/view/menu/MenuAdapter.java
2025-05-13 19:24:51 +02:00

93 lines
2.5 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.appcompat.view.menu.MenuView;
import java.util.ArrayList;
/* loaded from: classes.dex */
public class MenuAdapter extends BaseAdapter {
MenuBuilder a;
private int b = -1;
private boolean c;
private final boolean d;
private final LayoutInflater e;
private final int f;
public MenuAdapter(MenuBuilder menuBuilder, LayoutInflater layoutInflater, boolean z, int i) {
this.d = z;
this.e = layoutInflater;
this.a = menuBuilder;
this.f = i;
a();
}
public void a(boolean z) {
this.c = z;
}
public MenuBuilder b() {
return this.a;
}
@Override // android.widget.Adapter
public int getCount() {
return this.b < 0 ? (this.d ? this.a.j() : this.a.n()).size() : r0.size() - 1;
}
@Override // android.widget.Adapter
public long getItemId(int i) {
return i;
}
@Override // android.widget.Adapter
public View getView(int i, View view, ViewGroup viewGroup) {
if (view == null) {
view = this.e.inflate(this.f, viewGroup, false);
}
int groupId = getItem(i).getGroupId();
int i2 = i - 1;
ListMenuItemView listMenuItemView = (ListMenuItemView) view;
listMenuItemView.setGroupDividerEnabled(this.a.o() && groupId != (i2 >= 0 ? getItem(i2).getGroupId() : groupId));
MenuView.ItemView itemView = (MenuView.ItemView) view;
if (this.c) {
listMenuItemView.setForceShowIcon(true);
}
itemView.a(getItem(i), 0);
return view;
}
@Override // android.widget.BaseAdapter
public void notifyDataSetChanged() {
a();
super.notifyDataSetChanged();
}
void a() {
MenuItemImpl f = this.a.f();
if (f != null) {
ArrayList<MenuItemImpl> j = this.a.j();
int size = j.size();
for (int i = 0; i < size; i++) {
if (j.get(i) == f) {
this.b = i;
return;
}
}
}
this.b = -1;
}
@Override // android.widget.Adapter
public MenuItemImpl getItem(int i) {
ArrayList<MenuItemImpl> j = this.d ? this.a.j() : this.a.n();
int i2 = this.b;
if (i2 >= 0 && i >= i2) {
i++;
}
return j.get(i);
}
}