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.annotation.Nullable; import androidx.annotation.RestrictTo; 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; @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) 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; public 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 int mFlags = 16; private final int mGroup; private boolean mHasIconTint = false; private boolean mHasIconTintMode = false; private Drawable mIconDrawable; private int mIconResId = 0; private ColorStateList mIconTintList = null; private PorterDuff.Mode mIconTintMode = null; private final int mId; private Intent mIntent; private boolean mIsActionViewExpanded = false; private Runnable mItemCallback; public MenuBuilder mMenu; private ContextMenu.ContextMenuInfo mMenuInfo; private boolean mNeedToApplyIconTint = false; private MenuItem.OnActionExpandListener mOnActionExpandListener; private final int mOrdering; private char mShortcutAlphabeticChar; private int mShortcutAlphabeticModifiers = 4096; private char mShortcutNumericChar; private int mShortcutNumericModifiers = 4096; private int mShowAsAction = 0; private SubMenuBuilder mSubMenu; private CharSequence mTitle; private CharSequence mTitleCondensed; private CharSequence mTooltipText; /* renamed from: androidx.appcompat.view.menu.MenuItemImpl$1 reason: invalid class name */ public class AnonymousClass1 implements ActionProvider.VisibilityListener { public AnonymousClass1() { } @Override // androidx.core.view.ActionProvider.VisibilityListener public void onActionProviderVisibilityChanged(boolean z2) { MenuItemImpl menuItemImpl = MenuItemImpl.this; menuItemImpl.mMenu.onItemVisibleChanged(menuItemImpl); } } 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; } private static void appendModifier(StringBuilder sb, int i, int i2, String str) { if ((i & i2) == i2) { sb.append(str); } } 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; } public void actionFormatChanged() { this.mMenu.onItemActionRequestChanged(this); } @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; } @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 // android.view.MenuItem public android.view.ActionProvider getActionProvider() { throw new UnsupportedOperationException("This is not supported, use MenuItemCompat.getActionProvider()"); } @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 // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem public int getAlphabeticModifiers() { return this.mShortcutAlphabeticModifiers; } @Override // android.view.MenuItem public char getAlphabeticShortcut() { return this.mShortcutAlphabeticChar; } public 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 // 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 // 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; } public char getShortcut() { return this.mMenu.isQwertyMode() ? this.mShortcutAlphabeticChar : this.mShortcutNumericChar; } 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(shortcut); } else { sb.append(resources.getString(R.string.abc_menu_space_shortcut_label)); } return sb.toString(); } @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; } public CharSequence getTitleForItemView(MenuView.ItemView itemView) { return (itemView == null || !itemView.prefersCondensedTitle()) ? getTitle() : getTitleCondensed(); } @Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem public CharSequence getTooltipText() { return this.mTooltipText; } 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; } @Override // android.view.MenuItem public boolean hasSubMenu() { return this.mSubMenu != null; } 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(); } 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; } @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(); } public boolean requestsActionButton() { return (this.mShowAsAction & 1) == 1; } @Override // androidx.core.internal.view.SupportMenuItem public boolean requiresActionButton() { return (this.mShowAsAction & 2) == 2; } @Override // androidx.core.internal.view.SupportMenuItem public boolean requiresOverflow() { return !requiresActionButton() && !requestsActionButton(); } @Override // android.view.MenuItem public MenuItem setActionProvider(android.view.ActionProvider actionProvider) { throw new UnsupportedOperationException("This is not supported, use MenuItemCompat.setActionProvider()"); } @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 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; } public void setActionViewExpanded(boolean z2) { this.mIsActionViewExpanded = z2; this.mMenu.onItemsChanged(false); } @Override // android.view.MenuItem public MenuItem setAlphabeticShortcut(char c2) { if (this.mShortcutAlphabeticChar == c2) { return this; } this.mShortcutAlphabeticChar = Character.toLowerCase(c2); this.mMenu.onItemsChanged(false); return this; } @Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem public MenuItem setAlphabeticShortcut(char c2, int i) { if (this.mShortcutAlphabeticChar == c2 && this.mShortcutAlphabeticModifiers == i) { return this; } this.mShortcutAlphabeticChar = Character.toLowerCase(c2); this.mShortcutAlphabeticModifiers = KeyEvent.normalizeMetaState(i); this.mMenu.onItemsChanged(false); return this; } public MenuItem setCallback(Runnable runnable) { this.mItemCallback = runnable; return this; } @Override // android.view.MenuItem public MenuItem setCheckable(boolean z2) { int i = this.mFlags; int i2 = (z2 ? 1 : 0) | (i & -2); this.mFlags = i2; if (i != i2) { this.mMenu.onItemsChanged(false); } return this; } @Override // android.view.MenuItem public MenuItem setChecked(boolean z2) { if ((this.mFlags & 4) != 0) { this.mMenu.setExclusiveItemChecked(this); } else { setCheckedInt(z2); } return this; } public void setCheckedInt(boolean z2) { int i = this.mFlags; int i2 = (z2 ? 2 : 0) | (i & -3); this.mFlags = i2; if (i != i2) { 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 // android.view.MenuItem public MenuItem setEnabled(boolean z2) { if (z2) { this.mFlags |= 16; } else { this.mFlags &= -17; } this.mMenu.onItemsChanged(false); return this; } public void setExclusiveCheckable(boolean z2) { this.mFlags = (z2 ? 4 : 0) | (this.mFlags & -5); } @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 // android.view.MenuItem public MenuItem setIcon(Drawable drawable) { this.mIconResId = 0; this.mIconDrawable = drawable; this.mNeedToApplyIconTint = true; this.mMenu.onItemsChanged(false); return this; } @Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem public MenuItem setIconTintList(@Nullable 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; } @Override // android.view.MenuItem public MenuItem setIntent(Intent intent) { this.mIntent = intent; return this; } public void setIsActionButton(boolean z2) { if (z2) { this.mFlags |= 32; } else { this.mFlags &= -33; } } public void setMenuInfo(ContextMenu.ContextMenuInfo contextMenuInfo) { this.mMenuInfo = contextMenuInfo; } @Override // android.view.MenuItem public MenuItem setNumericShortcut(char c2) { if (this.mShortcutNumericChar == c2) { return this; } this.mShortcutNumericChar = c2; this.mMenu.onItemsChanged(false); return this; } @Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem public MenuItem setNumericShortcut(char c2, int i) { if (this.mShortcutNumericChar == c2 && this.mShortcutNumericModifiers == i) { return this; } this.mShortcutNumericChar = c2; this.mShortcutNumericModifiers = KeyEvent.normalizeMetaState(i); this.mMenu.onItemsChanged(false); return this; } @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; } @Override // android.view.MenuItem public MenuItem setShortcut(char c2, char c3) { this.mShortcutNumericChar = c2; this.mShortcutAlphabeticChar = Character.toLowerCase(c3); this.mMenu.onItemsChanged(false); return this; } @Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem public MenuItem setShortcut(char c2, char c3, int i, int i2) { this.mShortcutNumericChar = c2; this.mShortcutNumericModifiers = KeyEvent.normalizeMetaState(i); this.mShortcutAlphabeticChar = Character.toLowerCase(c3); this.mShortcutAlphabeticModifiers = KeyEvent.normalizeMetaState(i2); this.mMenu.onItemsChanged(false); return this; } @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) { this.mShowAsAction = i; this.mMenu.onItemActionRequestChanged(this); return; } throw new IllegalArgumentException("SHOW_AS_ACTION_ALWAYS, SHOW_AS_ACTION_IF_ROOM, and SHOW_AS_ACTION_NEVER are mutually exclusive."); } @Override // androidx.core.internal.view.SupportMenuItem, android.view.MenuItem public SupportMenuItem setShowAsActionFlags(int i) { setShowAsAction(i); return this; } public void setSubMenu(SubMenuBuilder subMenuBuilder) { this.mSubMenu = subMenuBuilder; subMenuBuilder.setHeaderTitle(getTitle()); } @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 AnonymousClass1()); } return this; } @Override // android.view.MenuItem public MenuItem setTitle(int i) { return setTitle(this.mMenu.getContext().getString(i)); } @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 setTitleCondensed(CharSequence charSequence) { this.mTitleCondensed = 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; } @Override // android.view.MenuItem public MenuItem setVisible(boolean z2) { if (setVisibleInt(z2)) { this.mMenu.onItemVisibleChanged(this); } return this; } public boolean setVisibleInt(boolean z2) { int i = this.mFlags; int i2 = (z2 ? 0 : 8) | (i & -9); this.mFlags = i2; return i != i2; } public boolean shouldShowIcon() { return this.mMenu.getOptionalIconsVisible(); } public boolean shouldShowShortcut() { return this.mMenu.isShortcutsVisible() && getShortcut() != 0; } public boolean showsTextAsAction() { return (this.mShowAsAction & 4) == 4; } @Override // java.lang.Object public String toString() { CharSequence charSequence = this.mTitle; if (charSequence != null) { return charSequence.toString(); } return null; } }