mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
719 lines
24 KiB
Java
719 lines
24 KiB
Java
package androidx.appcompat.view.menu;
|
|
|
|
import android.content.ActivityNotFoundException;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.res.ColorStateList;
|
|
import android.content.res.Resources;
|
|
import android.graphics.PorterDuff;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.util.Log;
|
|
import android.view.ContextMenu;
|
|
import android.view.KeyEvent;
|
|
import android.view.LayoutInflater;
|
|
import android.view.MenuItem;
|
|
import android.view.SubMenu;
|
|
import android.view.View;
|
|
import android.view.ViewConfiguration;
|
|
import android.view.ViewDebug;
|
|
import android.view.ViewGroup;
|
|
import android.widget.LinearLayout;
|
|
import androidx.appcompat.R;
|
|
import androidx.appcompat.content.res.AppCompatResources;
|
|
import androidx.appcompat.view.menu.MenuView;
|
|
import androidx.core.graphics.drawable.DrawableCompat;
|
|
import androidx.core.internal.view.SupportMenuItem;
|
|
import androidx.core.view.ActionProvider;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class MenuItemImpl implements SupportMenuItem {
|
|
private static final int CHECKABLE = 1;
|
|
private static final int CHECKED = 2;
|
|
private static final int ENABLED = 16;
|
|
private static final int EXCLUSIVE = 4;
|
|
private static final int HIDDEN = 8;
|
|
private static final int IS_ACTION = 32;
|
|
static final int NO_ICON = 0;
|
|
private static final int SHOW_AS_ACTION_MASK = 3;
|
|
private static final String TAG = "MenuItemImpl";
|
|
private ActionProvider mActionProvider;
|
|
private View mActionView;
|
|
private final int mCategoryOrder;
|
|
private MenuItem.OnMenuItemClickListener mClickListener;
|
|
private CharSequence mContentDescription;
|
|
private final int mGroup;
|
|
private Drawable mIconDrawable;
|
|
private final int mId;
|
|
private Intent mIntent;
|
|
private Runnable mItemCallback;
|
|
MenuBuilder mMenu;
|
|
private ContextMenu.ContextMenuInfo mMenuInfo;
|
|
private MenuItem.OnActionExpandListener mOnActionExpandListener;
|
|
private final int mOrdering;
|
|
private char mShortcutAlphabeticChar;
|
|
private char mShortcutNumericChar;
|
|
private int mShowAsAction;
|
|
private SubMenuBuilder mSubMenu;
|
|
private CharSequence mTitle;
|
|
private CharSequence mTitleCondensed;
|
|
private CharSequence mTooltipText;
|
|
private int mShortcutNumericModifiers = 4096;
|
|
private int mShortcutAlphabeticModifiers = 4096;
|
|
private int mIconResId = 0;
|
|
private ColorStateList mIconTintList = null;
|
|
private PorterDuff.Mode mIconTintMode = null;
|
|
private boolean mHasIconTint = false;
|
|
private boolean mHasIconTintMode = false;
|
|
private boolean mNeedToApplyIconTint = false;
|
|
private int mFlags = 16;
|
|
private boolean mIsActionViewExpanded = false;
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public int getAlphabeticModifiers() {
|
|
return this.mShortcutAlphabeticModifiers;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public char getAlphabeticShortcut() {
|
|
return this.mShortcutAlphabeticChar;
|
|
}
|
|
|
|
Runnable getCallback() {
|
|
return this.mItemCallback;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public CharSequence getContentDescription() {
|
|
return this.mContentDescription;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public int getGroupId() {
|
|
return this.mGroup;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public ColorStateList getIconTintList() {
|
|
return this.mIconTintList;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public PorterDuff.Mode getIconTintMode() {
|
|
return this.mIconTintMode;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public Intent getIntent() {
|
|
return this.mIntent;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
@ViewDebug.CapturedViewProperty
|
|
public int getItemId() {
|
|
return this.mId;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public ContextMenu.ContextMenuInfo getMenuInfo() {
|
|
return this.mMenuInfo;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public int getNumericModifiers() {
|
|
return this.mShortcutNumericModifiers;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public char getNumericShortcut() {
|
|
return this.mShortcutNumericChar;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public int getOrder() {
|
|
return this.mCategoryOrder;
|
|
}
|
|
|
|
public int getOrdering() {
|
|
return this.mOrdering;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public SubMenu getSubMenu() {
|
|
return this.mSubMenu;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem
|
|
public ActionProvider getSupportActionProvider() {
|
|
return this.mActionProvider;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
@ViewDebug.CapturedViewProperty
|
|
public CharSequence getTitle() {
|
|
return this.mTitle;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public CharSequence getTitleCondensed() {
|
|
CharSequence charSequence = this.mTitleCondensed;
|
|
return charSequence != null ? charSequence : this.mTitle;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public CharSequence getTooltipText() {
|
|
return this.mTooltipText;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public boolean hasSubMenu() {
|
|
return this.mSubMenu != null;
|
|
}
|
|
|
|
public boolean isActionButton() {
|
|
return (this.mFlags & 32) == 32;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public boolean isActionViewExpanded() {
|
|
return this.mIsActionViewExpanded;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public boolean isCheckable() {
|
|
return (this.mFlags & 1) == 1;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public boolean isChecked() {
|
|
return (this.mFlags & 2) == 2;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public boolean isEnabled() {
|
|
return (this.mFlags & 16) != 0;
|
|
}
|
|
|
|
public boolean isExclusiveCheckable() {
|
|
return (this.mFlags & 4) != 0;
|
|
}
|
|
|
|
public boolean requestsActionButton() {
|
|
return (this.mShowAsAction & 1) == 1;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem
|
|
public boolean requiresActionButton() {
|
|
return (this.mShowAsAction & 2) == 2;
|
|
}
|
|
|
|
public MenuItem setCallback(Runnable runnable) {
|
|
this.mItemCallback = runnable;
|
|
return this;
|
|
}
|
|
|
|
public void setExclusiveCheckable(boolean z) {
|
|
this.mFlags = (z ? 4 : 0) | (this.mFlags & (-5));
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setIntent(Intent intent) {
|
|
this.mIntent = intent;
|
|
return this;
|
|
}
|
|
|
|
public void setIsActionButton(boolean z) {
|
|
if (z) {
|
|
this.mFlags |= 32;
|
|
} else {
|
|
this.mFlags &= -33;
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void setMenuInfo(ContextMenu.ContextMenuInfo contextMenuInfo) {
|
|
this.mMenuInfo = contextMenuInfo;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setOnActionExpandListener(MenuItem.OnActionExpandListener onActionExpandListener) {
|
|
this.mOnActionExpandListener = onActionExpandListener;
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener onMenuItemClickListener) {
|
|
this.mClickListener = onMenuItemClickListener;
|
|
return this;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public boolean setVisibleInt(boolean z) {
|
|
int i = this.mFlags;
|
|
int i2 = (z ? 0 : 8) | (i & (-9));
|
|
this.mFlags = i2;
|
|
return i != i2;
|
|
}
|
|
|
|
public boolean showsTextAsAction() {
|
|
return (this.mShowAsAction & 4) == 4;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public MenuItemImpl(MenuBuilder menuBuilder, int i, int i2, int i3, int i4, CharSequence charSequence, int i5) {
|
|
this.mMenu = menuBuilder;
|
|
this.mId = i2;
|
|
this.mGroup = i;
|
|
this.mCategoryOrder = i3;
|
|
this.mOrdering = i4;
|
|
this.mTitle = charSequence;
|
|
this.mShowAsAction = i5;
|
|
}
|
|
|
|
public boolean invoke() {
|
|
MenuItem.OnMenuItemClickListener onMenuItemClickListener = this.mClickListener;
|
|
if (onMenuItemClickListener != null && onMenuItemClickListener.onMenuItemClick(this)) {
|
|
return true;
|
|
}
|
|
MenuBuilder menuBuilder = this.mMenu;
|
|
if (menuBuilder.dispatchMenuItemSelected(menuBuilder, this)) {
|
|
return true;
|
|
}
|
|
Runnable runnable = this.mItemCallback;
|
|
if (runnable != null) {
|
|
runnable.run();
|
|
return true;
|
|
}
|
|
if (this.mIntent != null) {
|
|
try {
|
|
this.mMenu.getContext().startActivity(this.mIntent);
|
|
return true;
|
|
} catch (ActivityNotFoundException e) {
|
|
Log.e(TAG, "Can't find activity to handle intent; ignoring", e);
|
|
}
|
|
}
|
|
ActionProvider actionProvider = this.mActionProvider;
|
|
return actionProvider != null && actionProvider.onPerformDefaultAction();
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setEnabled(boolean z) {
|
|
if (z) {
|
|
this.mFlags |= 16;
|
|
} else {
|
|
this.mFlags &= -17;
|
|
}
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setAlphabeticShortcut(char c) {
|
|
if (this.mShortcutAlphabeticChar == c) {
|
|
return this;
|
|
}
|
|
this.mShortcutAlphabeticChar = Character.toLowerCase(c);
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public MenuItem setAlphabeticShortcut(char c, int i) {
|
|
if (this.mShortcutAlphabeticChar == c && this.mShortcutAlphabeticModifiers == i) {
|
|
return this;
|
|
}
|
|
this.mShortcutAlphabeticChar = Character.toLowerCase(c);
|
|
this.mShortcutAlphabeticModifiers = KeyEvent.normalizeMetaState(i);
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setNumericShortcut(char c) {
|
|
if (this.mShortcutNumericChar == c) {
|
|
return this;
|
|
}
|
|
this.mShortcutNumericChar = c;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public MenuItem setNumericShortcut(char c, int i) {
|
|
if (this.mShortcutNumericChar == c && this.mShortcutNumericModifiers == i) {
|
|
return this;
|
|
}
|
|
this.mShortcutNumericChar = c;
|
|
this.mShortcutNumericModifiers = KeyEvent.normalizeMetaState(i);
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setShortcut(char c, char c2) {
|
|
this.mShortcutNumericChar = c;
|
|
this.mShortcutAlphabeticChar = Character.toLowerCase(c2);
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public MenuItem setShortcut(char c, char c2, int i, int i2) {
|
|
this.mShortcutNumericChar = c;
|
|
this.mShortcutNumericModifiers = KeyEvent.normalizeMetaState(i);
|
|
this.mShortcutAlphabeticChar = Character.toLowerCase(c2);
|
|
this.mShortcutAlphabeticModifiers = KeyEvent.normalizeMetaState(i2);
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public char getShortcut() {
|
|
return this.mMenu.isQwertyMode() ? this.mShortcutAlphabeticChar : this.mShortcutNumericChar;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public String getShortcutLabel() {
|
|
char shortcut = getShortcut();
|
|
if (shortcut == 0) {
|
|
return "";
|
|
}
|
|
Resources resources = this.mMenu.getContext().getResources();
|
|
StringBuilder sb = new StringBuilder();
|
|
if (ViewConfiguration.get(this.mMenu.getContext()).hasPermanentMenuKey()) {
|
|
sb.append(resources.getString(R.string.abc_prepend_shortcut_label));
|
|
}
|
|
int i = this.mMenu.isQwertyMode() ? this.mShortcutAlphabeticModifiers : this.mShortcutNumericModifiers;
|
|
appendModifier(sb, i, 65536, resources.getString(R.string.abc_menu_meta_shortcut_label));
|
|
appendModifier(sb, i, 4096, resources.getString(R.string.abc_menu_ctrl_shortcut_label));
|
|
appendModifier(sb, i, 2, resources.getString(R.string.abc_menu_alt_shortcut_label));
|
|
appendModifier(sb, i, 1, resources.getString(R.string.abc_menu_shift_shortcut_label));
|
|
appendModifier(sb, i, 4, resources.getString(R.string.abc_menu_sym_shortcut_label));
|
|
appendModifier(sb, i, 8, resources.getString(R.string.abc_menu_function_shortcut_label));
|
|
if (shortcut == '\b') {
|
|
sb.append(resources.getString(R.string.abc_menu_delete_shortcut_label));
|
|
} else if (shortcut == '\n') {
|
|
sb.append(resources.getString(R.string.abc_menu_enter_shortcut_label));
|
|
} else if (shortcut == ' ') {
|
|
sb.append(resources.getString(R.string.abc_menu_space_shortcut_label));
|
|
} else {
|
|
sb.append(shortcut);
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
private static void appendModifier(StringBuilder sb, int i, int i2, String str) {
|
|
if ((i & i2) == i2) {
|
|
sb.append(str);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public boolean shouldShowShortcut() {
|
|
return this.mMenu.isShortcutsVisible() && getShortcut() != 0;
|
|
}
|
|
|
|
public void setSubMenu(SubMenuBuilder subMenuBuilder) {
|
|
this.mSubMenu = subMenuBuilder;
|
|
subMenuBuilder.setHeaderTitle(getTitle());
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public CharSequence getTitleForItemView(MenuView.ItemView itemView) {
|
|
if (itemView != null && itemView.prefersCondensedTitle()) {
|
|
return getTitleCondensed();
|
|
}
|
|
return getTitle();
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setTitle(CharSequence charSequence) {
|
|
this.mTitle = charSequence;
|
|
this.mMenu.onItemsChanged(false);
|
|
SubMenuBuilder subMenuBuilder = this.mSubMenu;
|
|
if (subMenuBuilder != null) {
|
|
subMenuBuilder.setHeaderTitle(charSequence);
|
|
}
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setTitle(int i) {
|
|
return setTitle(this.mMenu.getContext().getString(i));
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setTitleCondensed(CharSequence charSequence) {
|
|
this.mTitleCondensed = charSequence;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public Drawable getIcon() {
|
|
Drawable drawable = this.mIconDrawable;
|
|
if (drawable != null) {
|
|
return applyIconTintIfNecessary(drawable);
|
|
}
|
|
if (this.mIconResId == 0) {
|
|
return null;
|
|
}
|
|
Drawable drawable2 = AppCompatResources.getDrawable(this.mMenu.getContext(), this.mIconResId);
|
|
this.mIconResId = 0;
|
|
this.mIconDrawable = drawable2;
|
|
return applyIconTintIfNecessary(drawable2);
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setIcon(Drawable drawable) {
|
|
this.mIconResId = 0;
|
|
this.mIconDrawable = drawable;
|
|
this.mNeedToApplyIconTint = true;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setIcon(int i) {
|
|
this.mIconDrawable = null;
|
|
this.mIconResId = i;
|
|
this.mNeedToApplyIconTint = true;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public MenuItem setIconTintList(ColorStateList colorStateList) {
|
|
this.mIconTintList = colorStateList;
|
|
this.mHasIconTint = true;
|
|
this.mNeedToApplyIconTint = true;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public MenuItem setIconTintMode(PorterDuff.Mode mode) {
|
|
this.mIconTintMode = mode;
|
|
this.mHasIconTintMode = true;
|
|
this.mNeedToApplyIconTint = true;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
private Drawable applyIconTintIfNecessary(Drawable drawable) {
|
|
if (drawable != null && this.mNeedToApplyIconTint && (this.mHasIconTint || this.mHasIconTintMode)) {
|
|
drawable = DrawableCompat.wrap(drawable).mutate();
|
|
if (this.mHasIconTint) {
|
|
DrawableCompat.setTintList(drawable, this.mIconTintList);
|
|
}
|
|
if (this.mHasIconTintMode) {
|
|
DrawableCompat.setTintMode(drawable, this.mIconTintMode);
|
|
}
|
|
this.mNeedToApplyIconTint = false;
|
|
}
|
|
return drawable;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setCheckable(boolean z) {
|
|
int i = this.mFlags;
|
|
int i2 = (z ? 1 : 0) | (i & (-2));
|
|
this.mFlags = i2;
|
|
if (i != i2) {
|
|
this.mMenu.onItemsChanged(false);
|
|
}
|
|
return this;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setChecked(boolean z) {
|
|
if ((this.mFlags & 4) != 0) {
|
|
this.mMenu.setExclusiveItemChecked(this);
|
|
} else {
|
|
setCheckedInt(z);
|
|
}
|
|
return this;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void setCheckedInt(boolean z) {
|
|
int i = this.mFlags;
|
|
int i2 = (z ? 2 : 0) | (i & (-3));
|
|
this.mFlags = i2;
|
|
if (i != i2) {
|
|
this.mMenu.onItemsChanged(false);
|
|
}
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public boolean isVisible() {
|
|
ActionProvider actionProvider = this.mActionProvider;
|
|
return (actionProvider == null || !actionProvider.overridesItemVisibility()) ? (this.mFlags & 8) == 0 : (this.mFlags & 8) == 0 && this.mActionProvider.isVisible();
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setVisible(boolean z) {
|
|
if (setVisibleInt(z)) {
|
|
this.mMenu.onItemVisibleChanged(this);
|
|
}
|
|
return this;
|
|
}
|
|
|
|
public String toString() {
|
|
CharSequence charSequence = this.mTitle;
|
|
if (charSequence != null) {
|
|
return charSequence.toString();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public void actionFormatChanged() {
|
|
this.mMenu.onItemActionRequestChanged(this);
|
|
}
|
|
|
|
public boolean shouldShowIcon() {
|
|
return this.mMenu.getOptionalIconsVisible();
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem
|
|
public boolean requiresOverflow() {
|
|
return (requiresActionButton() || requestsActionButton()) ? false : true;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public void setShowAsAction(int i) {
|
|
int i2 = i & 3;
|
|
if (i2 != 0 && i2 != 1 && i2 != 2) {
|
|
throw new IllegalArgumentException("SHOW_AS_ACTION_ALWAYS, SHOW_AS_ACTION_IF_ROOM, and SHOW_AS_ACTION_NEVER are mutually exclusive.");
|
|
}
|
|
this.mShowAsAction = i;
|
|
this.mMenu.onItemActionRequestChanged(this);
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public SupportMenuItem setActionView(View view) {
|
|
int i;
|
|
this.mActionView = view;
|
|
this.mActionProvider = null;
|
|
if (view != null && view.getId() == -1 && (i = this.mId) > 0) {
|
|
view.setId(i);
|
|
}
|
|
this.mMenu.onItemActionRequestChanged(this);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public SupportMenuItem setActionView(int i) {
|
|
Context context = this.mMenu.getContext();
|
|
setActionView(LayoutInflater.from(context).inflate(i, (ViewGroup) new LinearLayout(context), false));
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public View getActionView() {
|
|
View view = this.mActionView;
|
|
if (view != null) {
|
|
return view;
|
|
}
|
|
ActionProvider actionProvider = this.mActionProvider;
|
|
if (actionProvider == null) {
|
|
return null;
|
|
}
|
|
View onCreateActionView = actionProvider.onCreateActionView(this);
|
|
this.mActionView = onCreateActionView;
|
|
return onCreateActionView;
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public MenuItem setActionProvider(android.view.ActionProvider actionProvider) {
|
|
throw new UnsupportedOperationException("This is not supported, use MenuItemCompat.setActionProvider()");
|
|
}
|
|
|
|
@Override // android.view.MenuItem
|
|
public android.view.ActionProvider getActionProvider() {
|
|
throw new UnsupportedOperationException("This is not supported, use MenuItemCompat.getActionProvider()");
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem
|
|
public SupportMenuItem setSupportActionProvider(ActionProvider actionProvider) {
|
|
ActionProvider actionProvider2 = this.mActionProvider;
|
|
if (actionProvider2 != null) {
|
|
actionProvider2.reset();
|
|
}
|
|
this.mActionView = null;
|
|
this.mActionProvider = actionProvider;
|
|
this.mMenu.onItemsChanged(true);
|
|
ActionProvider actionProvider3 = this.mActionProvider;
|
|
if (actionProvider3 != null) {
|
|
actionProvider3.setVisibilityListener(new ActionProvider.VisibilityListener() { // from class: androidx.appcompat.view.menu.MenuItemImpl.1
|
|
@Override // androidx.core.view.ActionProvider.VisibilityListener
|
|
public void onActionProviderVisibilityChanged(boolean z) {
|
|
MenuItemImpl.this.mMenu.onItemVisibleChanged(MenuItemImpl.this);
|
|
}
|
|
});
|
|
}
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public SupportMenuItem setShowAsActionFlags(int i) {
|
|
setShowAsAction(i);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public boolean expandActionView() {
|
|
if (!hasCollapsibleActionView()) {
|
|
return false;
|
|
}
|
|
MenuItem.OnActionExpandListener onActionExpandListener = this.mOnActionExpandListener;
|
|
if (onActionExpandListener == null || onActionExpandListener.onMenuItemActionExpand(this)) {
|
|
return this.mMenu.expandItemActionView(this);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public boolean collapseActionView() {
|
|
if ((this.mShowAsAction & 8) == 0) {
|
|
return false;
|
|
}
|
|
if (this.mActionView == null) {
|
|
return true;
|
|
}
|
|
MenuItem.OnActionExpandListener onActionExpandListener = this.mOnActionExpandListener;
|
|
if (onActionExpandListener == null || onActionExpandListener.onMenuItemActionCollapse(this)) {
|
|
return this.mMenu.collapseItemActionView(this);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public boolean hasCollapsibleActionView() {
|
|
ActionProvider actionProvider;
|
|
if ((this.mShowAsAction & 8) == 0) {
|
|
return false;
|
|
}
|
|
if (this.mActionView == null && (actionProvider = this.mActionProvider) != null) {
|
|
this.mActionView = actionProvider.onCreateActionView(this);
|
|
}
|
|
return this.mActionView != null;
|
|
}
|
|
|
|
public void setActionViewExpanded(boolean z) {
|
|
this.mIsActionViewExpanded = z;
|
|
this.mMenu.onItemsChanged(false);
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public SupportMenuItem setContentDescription(CharSequence charSequence) {
|
|
this.mContentDescription = charSequence;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
|
|
@Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem
|
|
public SupportMenuItem setTooltipText(CharSequence charSequence) {
|
|
this.mTooltipText = charSequence;
|
|
this.mMenu.onItemsChanged(false);
|
|
return this;
|
|
}
|
|
}
|