package androidx.appcompat.view.menu; import android.content.Context; import android.content.res.Resources; import android.os.Parcelable; import android.view.Gravity; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.widget.AdapterView; import android.widget.FrameLayout; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.TextView; import androidx.appcompat.R; import androidx.appcompat.view.menu.MenuPresenter; import androidx.appcompat.widget.MenuPopupWindow; import androidx.core.view.ViewCompat; /* loaded from: classes.dex */ final class StandardMenuPopup extends MenuPopup implements PopupWindow.OnDismissListener, AdapterView.OnItemClickListener, MenuPresenter, View.OnKeyListener { private static final int ITEM_LAYOUT = R.layout.abc_popup_menu_item_layout; private final MenuAdapter mAdapter; private View mAnchorView; private int mContentWidth; private final Context mContext; private boolean mHasContentWidth; private final MenuBuilder mMenu; private PopupWindow.OnDismissListener mOnDismissListener; private final boolean mOverflowOnly; final MenuPopupWindow mPopup; private final int mPopupMaxWidth; private final int mPopupStyleAttr; private final int mPopupStyleRes; private MenuPresenter.Callback mPresenterCallback; private boolean mShowTitle; View mShownAnchorView; ViewTreeObserver mTreeObserver; private boolean mWasDismissed; final ViewTreeObserver.OnGlobalLayoutListener mGlobalLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() { // from class: androidx.appcompat.view.menu.StandardMenuPopup.1 @Override // android.view.ViewTreeObserver.OnGlobalLayoutListener public void onGlobalLayout() { if (!StandardMenuPopup.this.isShowing() || StandardMenuPopup.this.mPopup.isModal()) { return; } View view = StandardMenuPopup.this.mShownAnchorView; if (view == null || !view.isShown()) { StandardMenuPopup.this.dismiss(); } else { StandardMenuPopup.this.mPopup.show(); } } }; private final View.OnAttachStateChangeListener mAttachStateChangeListener = new View.OnAttachStateChangeListener() { // from class: androidx.appcompat.view.menu.StandardMenuPopup.2 @Override // android.view.View.OnAttachStateChangeListener public void onViewAttachedToWindow(View view) { } @Override // android.view.View.OnAttachStateChangeListener public void onViewDetachedFromWindow(View view) { if (StandardMenuPopup.this.mTreeObserver != null) { if (!StandardMenuPopup.this.mTreeObserver.isAlive()) { StandardMenuPopup.this.mTreeObserver = view.getViewTreeObserver(); } StandardMenuPopup.this.mTreeObserver.removeGlobalOnLayoutListener(StandardMenuPopup.this.mGlobalLayoutListener); } view.removeOnAttachStateChangeListener(this); } }; private int mDropDownGravity = 0; @Override // androidx.appcompat.view.menu.MenuPopup public void addMenu(MenuBuilder menuBuilder) { } @Override // androidx.appcompat.view.menu.MenuPresenter public boolean flagActionItems() { return false; } @Override // androidx.appcompat.view.menu.MenuPresenter public void onRestoreInstanceState(Parcelable parcelable) { } @Override // androidx.appcompat.view.menu.MenuPresenter public Parcelable onSaveInstanceState() { return null; } @Override // androidx.appcompat.view.menu.MenuPopup public void setAnchorView(View view) { this.mAnchorView = view; } @Override // androidx.appcompat.view.menu.MenuPresenter public void setCallback(MenuPresenter.Callback callback) { this.mPresenterCallback = callback; } @Override // androidx.appcompat.view.menu.MenuPopup public void setGravity(int i) { this.mDropDownGravity = i; } @Override // androidx.appcompat.view.menu.MenuPopup public void setOnDismissListener(PopupWindow.OnDismissListener onDismissListener) { this.mOnDismissListener = onDismissListener; } @Override // androidx.appcompat.view.menu.MenuPopup public void setShowTitle(boolean z) { this.mShowTitle = z; } public StandardMenuPopup(Context context, MenuBuilder menuBuilder, View view, int i, int i2, boolean z) { this.mContext = context; this.mMenu = menuBuilder; this.mOverflowOnly = z; this.mAdapter = new MenuAdapter(menuBuilder, LayoutInflater.from(context), z, ITEM_LAYOUT); this.mPopupStyleAttr = i; this.mPopupStyleRes = i2; Resources resources = context.getResources(); this.mPopupMaxWidth = Math.max(resources.getDisplayMetrics().widthPixels / 2, resources.getDimensionPixelSize(R.dimen.abc_config_prefDialogWidth)); this.mAnchorView = view; this.mPopup = new MenuPopupWindow(context, null, i, i2); menuBuilder.addMenuPresenter(this, context); } @Override // androidx.appcompat.view.menu.MenuPopup public void setForceShowIcon(boolean z) { this.mAdapter.setForceShowIcon(z); } private boolean tryShow() { View view; if (isShowing()) { return true; } if (this.mWasDismissed || (view = this.mAnchorView) == null) { return false; } this.mShownAnchorView = view; this.mPopup.setOnDismissListener(this); this.mPopup.setOnItemClickListener(this); this.mPopup.setModal(true); View view2 = this.mShownAnchorView; boolean z = this.mTreeObserver == null; ViewTreeObserver viewTreeObserver = view2.getViewTreeObserver(); this.mTreeObserver = viewTreeObserver; if (z) { viewTreeObserver.addOnGlobalLayoutListener(this.mGlobalLayoutListener); } view2.addOnAttachStateChangeListener(this.mAttachStateChangeListener); this.mPopup.setAnchorView(view2); this.mPopup.setDropDownGravity(this.mDropDownGravity); if (!this.mHasContentWidth) { this.mContentWidth = measureIndividualMenuWidth(this.mAdapter, null, this.mContext, this.mPopupMaxWidth); this.mHasContentWidth = true; } this.mPopup.setContentWidth(this.mContentWidth); this.mPopup.setInputMethodMode(2); this.mPopup.setEpicenterBounds(getEpicenterBounds()); this.mPopup.show(); ListView listView = this.mPopup.getListView(); listView.setOnKeyListener(this); if (this.mShowTitle && this.mMenu.getHeaderTitle() != null) { FrameLayout frameLayout = (FrameLayout) LayoutInflater.from(this.mContext).inflate(R.layout.abc_popup_menu_header_item_layout, (ViewGroup) listView, false); TextView textView = (TextView) frameLayout.findViewById(android.R.id.title); if (textView != null) { textView.setText(this.mMenu.getHeaderTitle()); } frameLayout.setEnabled(false); listView.addHeaderView(frameLayout, null, false); } this.mPopup.setAdapter(this.mAdapter); this.mPopup.show(); return true; } @Override // androidx.appcompat.view.menu.ShowableListMenu public void show() { if (!tryShow()) { throw new IllegalStateException("StandardMenuPopup cannot be used without an anchor"); } } @Override // androidx.appcompat.view.menu.ShowableListMenu public void dismiss() { if (isShowing()) { this.mPopup.dismiss(); } } @Override // androidx.appcompat.view.menu.ShowableListMenu public boolean isShowing() { return !this.mWasDismissed && this.mPopup.isShowing(); } @Override // android.widget.PopupWindow.OnDismissListener public void onDismiss() { this.mWasDismissed = true; this.mMenu.close(); ViewTreeObserver viewTreeObserver = this.mTreeObserver; if (viewTreeObserver != null) { if (!viewTreeObserver.isAlive()) { this.mTreeObserver = this.mShownAnchorView.getViewTreeObserver(); } this.mTreeObserver.removeGlobalOnLayoutListener(this.mGlobalLayoutListener); this.mTreeObserver = null; } this.mShownAnchorView.removeOnAttachStateChangeListener(this.mAttachStateChangeListener); PopupWindow.OnDismissListener onDismissListener = this.mOnDismissListener; if (onDismissListener != null) { onDismissListener.onDismiss(); } } @Override // androidx.appcompat.view.menu.MenuPresenter public void updateMenuView(boolean z) { this.mHasContentWidth = false; MenuAdapter menuAdapter = this.mAdapter; if (menuAdapter != null) { menuAdapter.notifyDataSetChanged(); } } @Override // androidx.appcompat.view.menu.MenuPresenter public boolean onSubMenuSelected(SubMenuBuilder subMenuBuilder) { if (subMenuBuilder.hasVisibleItems()) { MenuPopupHelper menuPopupHelper = new MenuPopupHelper(this.mContext, subMenuBuilder, this.mShownAnchorView, this.mOverflowOnly, this.mPopupStyleAttr, this.mPopupStyleRes); menuPopupHelper.setPresenterCallback(this.mPresenterCallback); menuPopupHelper.setForceShowIcon(MenuPopup.shouldPreserveIconSpacing(subMenuBuilder)); menuPopupHelper.setOnDismissListener(this.mOnDismissListener); this.mOnDismissListener = null; this.mMenu.close(false); int horizontalOffset = this.mPopup.getHorizontalOffset(); int verticalOffset = this.mPopup.getVerticalOffset(); if ((Gravity.getAbsoluteGravity(this.mDropDownGravity, ViewCompat.getLayoutDirection(this.mAnchorView)) & 7) == 5) { horizontalOffset += this.mAnchorView.getWidth(); } if (menuPopupHelper.tryShow(horizontalOffset, verticalOffset)) { MenuPresenter.Callback callback = this.mPresenterCallback; if (callback == null) { return true; } callback.onOpenSubMenu(subMenuBuilder); return true; } } return false; } @Override // androidx.appcompat.view.menu.MenuPresenter public void onCloseMenu(MenuBuilder menuBuilder, boolean z) { if (menuBuilder != this.mMenu) { return; } dismiss(); MenuPresenter.Callback callback = this.mPresenterCallback; if (callback != null) { callback.onCloseMenu(menuBuilder, z); } } @Override // android.view.View.OnKeyListener public boolean onKey(View view, int i, KeyEvent keyEvent) { if (keyEvent.getAction() != 1 || i != 82) { return false; } dismiss(); return true; } @Override // androidx.appcompat.view.menu.ShowableListMenu public ListView getListView() { return this.mPopup.getListView(); } @Override // androidx.appcompat.view.menu.MenuPopup public void setHorizontalOffset(int i) { this.mPopup.setHorizontalOffset(i); } @Override // androidx.appcompat.view.menu.MenuPopup public void setVerticalOffset(int i) { this.mPopup.setVerticalOffset(i); } }