194 lines
5.7 KiB
Java
194 lines
5.7 KiB
Java
package androidx.appcompat.view.menu;
|
|
|
|
import android.content.Context;
|
|
import android.os.IBinder;
|
|
import android.view.ContextThemeWrapper;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.AdapterView;
|
|
import android.widget.BaseAdapter;
|
|
import android.widget.ListAdapter;
|
|
import androidx.appcompat.R$layout;
|
|
import androidx.appcompat.view.menu.MenuPresenter;
|
|
import androidx.appcompat.view.menu.MenuView;
|
|
import java.util.ArrayList;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class ListMenuPresenter implements MenuPresenter, AdapterView.OnItemClickListener {
|
|
Context a;
|
|
LayoutInflater b;
|
|
MenuBuilder c;
|
|
ExpandedMenuView d;
|
|
int e;
|
|
int f;
|
|
int g;
|
|
private MenuPresenter.Callback h;
|
|
MenuAdapter i;
|
|
|
|
private class MenuAdapter extends BaseAdapter {
|
|
private int a = -1;
|
|
|
|
public MenuAdapter() {
|
|
a();
|
|
}
|
|
|
|
void a() {
|
|
MenuItemImpl f = ListMenuPresenter.this.c.f();
|
|
if (f != null) {
|
|
ArrayList<MenuItemImpl> j = ListMenuPresenter.this.c.j();
|
|
int size = j.size();
|
|
for (int i = 0; i < size; i++) {
|
|
if (j.get(i) == f) {
|
|
this.a = i;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
this.a = -1;
|
|
}
|
|
|
|
@Override // android.widget.Adapter
|
|
public int getCount() {
|
|
int size = ListMenuPresenter.this.c.j().size() - ListMenuPresenter.this.e;
|
|
return this.a < 0 ? size : 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) {
|
|
ListMenuPresenter listMenuPresenter = ListMenuPresenter.this;
|
|
view = listMenuPresenter.b.inflate(listMenuPresenter.g, viewGroup, false);
|
|
}
|
|
((MenuView.ItemView) view).a(getItem(i), 0);
|
|
return view;
|
|
}
|
|
|
|
@Override // android.widget.BaseAdapter
|
|
public void notifyDataSetChanged() {
|
|
a();
|
|
super.notifyDataSetChanged();
|
|
}
|
|
|
|
@Override // android.widget.Adapter
|
|
public MenuItemImpl getItem(int i) {
|
|
ArrayList<MenuItemImpl> j = ListMenuPresenter.this.c.j();
|
|
int i2 = i + ListMenuPresenter.this.e;
|
|
int i3 = this.a;
|
|
if (i3 >= 0 && i2 >= i3) {
|
|
i2++;
|
|
}
|
|
return j.get(i2);
|
|
}
|
|
}
|
|
|
|
public ListMenuPresenter(Context context, int i) {
|
|
this(i, 0);
|
|
this.a = context;
|
|
this.b = LayoutInflater.from(this.a);
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public void a(Context context, MenuBuilder menuBuilder) {
|
|
int i = this.f;
|
|
if (i != 0) {
|
|
this.a = new ContextThemeWrapper(context, i);
|
|
this.b = LayoutInflater.from(this.a);
|
|
} else if (this.a != null) {
|
|
this.a = context;
|
|
if (this.b == null) {
|
|
this.b = LayoutInflater.from(this.a);
|
|
}
|
|
}
|
|
this.c = menuBuilder;
|
|
MenuAdapter menuAdapter = this.i;
|
|
if (menuAdapter != null) {
|
|
menuAdapter.notifyDataSetChanged();
|
|
}
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public boolean a(MenuBuilder menuBuilder, MenuItemImpl menuItemImpl) {
|
|
return false;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public boolean b() {
|
|
return false;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public boolean b(MenuBuilder menuBuilder, MenuItemImpl menuItemImpl) {
|
|
return false;
|
|
}
|
|
|
|
@Override // android.widget.AdapterView.OnItemClickListener
|
|
public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
|
|
this.c.a(this.i.getItem(i), this, 0);
|
|
}
|
|
|
|
public ListMenuPresenter(int i, int i2) {
|
|
this.g = i;
|
|
this.f = i2;
|
|
}
|
|
|
|
public MenuView a(ViewGroup viewGroup) {
|
|
if (this.d == null) {
|
|
this.d = (ExpandedMenuView) this.b.inflate(R$layout.abc_expanded_menu_layout, viewGroup, false);
|
|
if (this.i == null) {
|
|
this.i = new MenuAdapter();
|
|
}
|
|
this.d.setAdapter((ListAdapter) this.i);
|
|
this.d.setOnItemClickListener(this);
|
|
}
|
|
return this.d;
|
|
}
|
|
|
|
public ListAdapter a() {
|
|
if (this.i == null) {
|
|
this.i = new MenuAdapter();
|
|
}
|
|
return this.i;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public void a(boolean z) {
|
|
MenuAdapter menuAdapter = this.i;
|
|
if (menuAdapter != null) {
|
|
menuAdapter.notifyDataSetChanged();
|
|
}
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public void a(MenuPresenter.Callback callback) {
|
|
this.h = callback;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public boolean a(SubMenuBuilder subMenuBuilder) {
|
|
if (!subMenuBuilder.hasVisibleItems()) {
|
|
return false;
|
|
}
|
|
new MenuDialogHelper(subMenuBuilder).a((IBinder) null);
|
|
MenuPresenter.Callback callback = this.h;
|
|
if (callback == null) {
|
|
return true;
|
|
}
|
|
callback.a(subMenuBuilder);
|
|
return true;
|
|
}
|
|
|
|
@Override // androidx.appcompat.view.menu.MenuPresenter
|
|
public void a(MenuBuilder menuBuilder, boolean z) {
|
|
MenuPresenter.Callback callback = this.h;
|
|
if (callback != null) {
|
|
callback.a(menuBuilder, z);
|
|
}
|
|
}
|
|
}
|