ADD week 5
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
package androidx.appcompat.view.menu;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.appcompat.view.menu.MenuPresenter;
|
||||
import androidx.appcompat.view.menu.MenuView;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public abstract class BaseMenuPresenter implements MenuPresenter {
|
||||
private MenuPresenter.Callback mCallback;
|
||||
protected Context mContext;
|
||||
private int mId;
|
||||
protected LayoutInflater mInflater;
|
||||
private int mItemLayoutRes;
|
||||
protected MenuBuilder mMenu;
|
||||
private int mMenuLayoutRes;
|
||||
protected MenuView mMenuView;
|
||||
protected Context mSystemContext;
|
||||
protected LayoutInflater mSystemInflater;
|
||||
|
||||
public abstract void bindItemView(MenuItemImpl menuItemImpl, MenuView.ItemView itemView);
|
||||
|
||||
@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;
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public boolean flagActionItems() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public MenuPresenter.Callback getCallback() {
|
||||
return this.mCallback;
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public int getId() {
|
||||
return this.mId;
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public void setCallback(MenuPresenter.Callback callback) {
|
||||
this.mCallback = callback;
|
||||
}
|
||||
|
||||
public void setId(int i) {
|
||||
this.mId = i;
|
||||
}
|
||||
|
||||
public boolean shouldIncludeItem(int i, MenuItemImpl menuItemImpl) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public BaseMenuPresenter(Context context, int i, int i2) {
|
||||
this.mSystemContext = context;
|
||||
this.mSystemInflater = LayoutInflater.from(context);
|
||||
this.mMenuLayoutRes = i;
|
||||
this.mItemLayoutRes = i2;
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public void initForMenu(Context context, MenuBuilder menuBuilder) {
|
||||
this.mContext = context;
|
||||
this.mInflater = LayoutInflater.from(context);
|
||||
this.mMenu = menuBuilder;
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public MenuView getMenuView(ViewGroup viewGroup) {
|
||||
if (this.mMenuView == null) {
|
||||
MenuView menuView = (MenuView) this.mSystemInflater.inflate(this.mMenuLayoutRes, viewGroup, false);
|
||||
this.mMenuView = menuView;
|
||||
menuView.initialize(this.mMenu);
|
||||
updateMenuView(true);
|
||||
}
|
||||
return this.mMenuView;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public void updateMenuView(boolean z) {
|
||||
ViewGroup viewGroup = (ViewGroup) this.mMenuView;
|
||||
if (viewGroup == null) {
|
||||
return;
|
||||
}
|
||||
MenuBuilder menuBuilder = this.mMenu;
|
||||
int i = 0;
|
||||
if (menuBuilder != null) {
|
||||
menuBuilder.flagActionItems();
|
||||
ArrayList<MenuItemImpl> visibleItems = this.mMenu.getVisibleItems();
|
||||
int size = visibleItems.size();
|
||||
int i2 = 0;
|
||||
for (int i3 = 0; i3 < size; i3++) {
|
||||
MenuItemImpl menuItemImpl = visibleItems.get(i3);
|
||||
if (shouldIncludeItem(i2, menuItemImpl)) {
|
||||
View childAt = viewGroup.getChildAt(i2);
|
||||
MenuItemImpl itemData = childAt instanceof MenuView.ItemView ? ((MenuView.ItemView) childAt).getItemData() : null;
|
||||
View itemView = getItemView(menuItemImpl, childAt, viewGroup);
|
||||
if (menuItemImpl != itemData) {
|
||||
itemView.setPressed(false);
|
||||
itemView.jumpDrawablesToCurrentState();
|
||||
}
|
||||
if (itemView != childAt) {
|
||||
addItemView(itemView, i2);
|
||||
}
|
||||
i2++;
|
||||
}
|
||||
}
|
||||
i = i2;
|
||||
}
|
||||
while (i < viewGroup.getChildCount()) {
|
||||
if (!filterLeftoverView(viewGroup, i)) {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void addItemView(View view, int i) {
|
||||
ViewGroup viewGroup = (ViewGroup) view.getParent();
|
||||
if (viewGroup != null) {
|
||||
viewGroup.removeView(view);
|
||||
}
|
||||
((ViewGroup) this.mMenuView).addView(view, i);
|
||||
}
|
||||
|
||||
protected boolean filterLeftoverView(ViewGroup viewGroup, int i) {
|
||||
viewGroup.removeViewAt(i);
|
||||
return true;
|
||||
}
|
||||
|
||||
public MenuView.ItemView createItemView(ViewGroup viewGroup) {
|
||||
return (MenuView.ItemView) this.mSystemInflater.inflate(this.mItemLayoutRes, viewGroup, false);
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public View getItemView(MenuItemImpl menuItemImpl, View view, ViewGroup viewGroup) {
|
||||
MenuView.ItemView itemView;
|
||||
if (view instanceof MenuView.ItemView) {
|
||||
itemView = (MenuView.ItemView) view;
|
||||
} else {
|
||||
itemView = createItemView(viewGroup);
|
||||
}
|
||||
bindItemView(menuItemImpl, itemView);
|
||||
return (View) itemView;
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public void onCloseMenu(MenuBuilder menuBuilder, boolean z) {
|
||||
MenuPresenter.Callback callback = this.mCallback;
|
||||
if (callback != null) {
|
||||
callback.onCloseMenu(menuBuilder, z);
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Type inference failed for: r2v4, types: [androidx.appcompat.view.menu.MenuBuilder] */
|
||||
@Override // androidx.appcompat.view.menu.MenuPresenter
|
||||
public boolean onSubMenuSelected(SubMenuBuilder subMenuBuilder) {
|
||||
MenuPresenter.Callback callback = this.mCallback;
|
||||
SubMenuBuilder subMenuBuilder2 = subMenuBuilder;
|
||||
if (callback == null) {
|
||||
return false;
|
||||
}
|
||||
if (subMenuBuilder == null) {
|
||||
subMenuBuilder2 = this.mMenu;
|
||||
}
|
||||
return callback.onOpenSubMenu(subMenuBuilder2);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user