package androidx.appcompat.view.menu; import android.R; import android.content.Context; import android.content.res.Resources; import android.graphics.Rect; import android.os.Build; import android.os.Handler; import android.os.SystemClock; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.widget.AdapterView; import android.widget.FrameLayout; import android.widget.HeaderViewListAdapter; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.TextView; import androidx.appcompat.R$dimen; import androidx.appcompat.R$layout; import androidx.appcompat.view.menu.MenuPresenter; import androidx.appcompat.widget.MenuItemHoverListener; import androidx.appcompat.widget.MenuPopupWindow; import androidx.core.view.GravityCompat; import androidx.core.view.ViewCompat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* loaded from: classes.dex */ final class CascadingMenuPopup extends MenuPopup implements MenuPresenter, View.OnKeyListener, PopupWindow.OnDismissListener { private static final int C = R$layout.abc_cascading_menu_item_layout; private PopupWindow.OnDismissListener A; boolean B; private final Context b; private final int c; private final int d; private final int e; private final boolean f; final Handler g; private View o; View p; private boolean r; private boolean s; private int t; private int u; private boolean x; private MenuPresenter.Callback y; ViewTreeObserver z; private final List h = new ArrayList(); final List i = new ArrayList(); final ViewTreeObserver.OnGlobalLayoutListener j = new ViewTreeObserver.OnGlobalLayoutListener() { // from class: androidx.appcompat.view.menu.CascadingMenuPopup.1 @Override // android.view.ViewTreeObserver.OnGlobalLayoutListener public void onGlobalLayout() { if (!CascadingMenuPopup.this.c() || CascadingMenuPopup.this.i.size() <= 0 || CascadingMenuPopup.this.i.get(0).a.k()) { return; } View view = CascadingMenuPopup.this.p; if (view == null || !view.isShown()) { CascadingMenuPopup.this.dismiss(); return; } Iterator it = CascadingMenuPopup.this.i.iterator(); while (it.hasNext()) { it.next().a.a(); } } }; private final View.OnAttachStateChangeListener k = new View.OnAttachStateChangeListener() { // from class: androidx.appcompat.view.menu.CascadingMenuPopup.2 @Override // android.view.View.OnAttachStateChangeListener public void onViewAttachedToWindow(View view) { } @Override // android.view.View.OnAttachStateChangeListener public void onViewDetachedFromWindow(View view) { ViewTreeObserver viewTreeObserver = CascadingMenuPopup.this.z; if (viewTreeObserver != null) { if (!viewTreeObserver.isAlive()) { CascadingMenuPopup.this.z = view.getViewTreeObserver(); } CascadingMenuPopup cascadingMenuPopup = CascadingMenuPopup.this; cascadingMenuPopup.z.removeGlobalOnLayoutListener(cascadingMenuPopup.j); } view.removeOnAttachStateChangeListener(this); } }; private final MenuItemHoverListener l = new MenuItemHoverListener() { // from class: androidx.appcompat.view.menu.CascadingMenuPopup.3 @Override // androidx.appcompat.widget.MenuItemHoverListener public void a(final MenuBuilder menuBuilder, final MenuItem menuItem) { CascadingMenuPopup.this.g.removeCallbacksAndMessages(null); int size = CascadingMenuPopup.this.i.size(); int i = 0; while (true) { if (i >= size) { i = -1; break; } else if (menuBuilder == CascadingMenuPopup.this.i.get(i).b) { break; } else { i++; } } if (i == -1) { return; } int i2 = i + 1; final CascadingMenuInfo cascadingMenuInfo = i2 < CascadingMenuPopup.this.i.size() ? CascadingMenuPopup.this.i.get(i2) : null; CascadingMenuPopup.this.g.postAtTime(new Runnable() { // from class: androidx.appcompat.view.menu.CascadingMenuPopup.3.1 @Override // java.lang.Runnable public void run() { CascadingMenuInfo cascadingMenuInfo2 = cascadingMenuInfo; if (cascadingMenuInfo2 != null) { CascadingMenuPopup.this.B = true; cascadingMenuInfo2.b.a(false); CascadingMenuPopup.this.B = false; } if (menuItem.isEnabled() && menuItem.hasSubMenu()) { menuBuilder.a(menuItem, 4); } } }, menuBuilder, SystemClock.uptimeMillis() + 200); } @Override // androidx.appcompat.widget.MenuItemHoverListener public void b(MenuBuilder menuBuilder, MenuItem menuItem) { CascadingMenuPopup.this.g.removeCallbacksAndMessages(menuBuilder); } }; private int m = 0; private int n = 0; private boolean v = false; private int q = h(); private static class CascadingMenuInfo { public final MenuPopupWindow a; public final MenuBuilder b; public final int c; public CascadingMenuInfo(MenuPopupWindow menuPopupWindow, MenuBuilder menuBuilder, int i) { this.a = menuPopupWindow; this.b = menuBuilder; this.c = i; } public ListView a() { return this.a.d(); } } public CascadingMenuPopup(Context context, View view, int i, int i2, boolean z) { this.b = context; this.o = view; this.d = i; this.e = i2; this.f = z; Resources resources = context.getResources(); this.c = Math.max(resources.getDisplayMetrics().widthPixels / 2, resources.getDimensionPixelSize(R$dimen.abc_config_prefDialogWidth)); this.g = new Handler(); } private int d(int i) { List list = this.i; ListView a = list.get(list.size() - 1).a(); int[] iArr = new int[2]; a.getLocationOnScreen(iArr); Rect rect = new Rect(); this.p.getWindowVisibleDisplayFrame(rect); return this.q == 1 ? (iArr[0] + a.getWidth()) + i > rect.right ? 0 : 1 : iArr[0] - i < 0 ? 1 : 0; } private MenuPopupWindow g() { MenuPopupWindow menuPopupWindow = new MenuPopupWindow(this.b, null, this.d, this.e); menuPopupWindow.a(this.l); menuPopupWindow.a((AdapterView.OnItemClickListener) this); menuPopupWindow.a((PopupWindow.OnDismissListener) this); menuPopupWindow.a(this.o); menuPopupWindow.c(this.n); menuPopupWindow.a(true); menuPopupWindow.e(2); return menuPopupWindow; } private int h() { return ViewCompat.k(this.o) == 1 ? 0 : 1; } @Override // androidx.appcompat.view.menu.ShowableListMenu public void a() { if (c()) { return; } Iterator it = this.h.iterator(); while (it.hasNext()) { d(it.next()); } this.h.clear(); this.p = this.o; if (this.p != null) { boolean z = this.z == null; this.z = this.p.getViewTreeObserver(); if (z) { this.z.addOnGlobalLayoutListener(this.j); } this.p.addOnAttachStateChangeListener(this.k); } } @Override // androidx.appcompat.view.menu.MenuPopup public void b(boolean z) { this.v = z; } @Override // androidx.appcompat.view.menu.MenuPresenter public boolean b() { return false; } @Override // androidx.appcompat.view.menu.ShowableListMenu public boolean c() { return this.i.size() > 0 && this.i.get(0).a.c(); } @Override // androidx.appcompat.view.menu.ShowableListMenu public void dismiss() { int size = this.i.size(); if (size > 0) { CascadingMenuInfo[] cascadingMenuInfoArr = (CascadingMenuInfo[]) this.i.toArray(new CascadingMenuInfo[size]); for (int i = size - 1; i >= 0; i--) { CascadingMenuInfo cascadingMenuInfo = cascadingMenuInfoArr[i]; if (cascadingMenuInfo.a.c()) { cascadingMenuInfo.a.dismiss(); } } } } @Override // androidx.appcompat.view.menu.MenuPopup protected boolean e() { return false; } @Override // android.widget.PopupWindow.OnDismissListener public void onDismiss() { CascadingMenuInfo cascadingMenuInfo; int size = this.i.size(); int i = 0; while (true) { if (i >= size) { cascadingMenuInfo = null; break; } cascadingMenuInfo = this.i.get(i); if (!cascadingMenuInfo.a.c()) { break; } else { i++; } } if (cascadingMenuInfo != null) { cascadingMenuInfo.b.a(false); } } @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; } private int c(MenuBuilder menuBuilder) { int size = this.i.size(); for (int i = 0; i < size; i++) { if (menuBuilder == this.i.get(i).b) { return i; } } return -1; } @Override // androidx.appcompat.view.menu.MenuPopup public void b(int i) { this.r = true; this.t = i; } @Override // androidx.appcompat.view.menu.MenuPopup public void c(int i) { this.s = true; this.u = i; } @Override // androidx.appcompat.view.menu.MenuPopup public void c(boolean z) { this.x = z; } private void d(MenuBuilder menuBuilder) { CascadingMenuInfo cascadingMenuInfo; View view; int i; int i2; int i3; LayoutInflater from = LayoutInflater.from(this.b); MenuAdapter menuAdapter = new MenuAdapter(menuBuilder, from, this.f, C); if (!c() && this.v) { menuAdapter.a(true); } else if (c()) { menuAdapter.a(MenuPopup.b(menuBuilder)); } int a = MenuPopup.a(menuAdapter, null, this.b, this.c); MenuPopupWindow g = g(); g.a((ListAdapter) menuAdapter); g.b(a); g.c(this.n); if (this.i.size() > 0) { List list = this.i; cascadingMenuInfo = list.get(list.size() - 1); view = a(cascadingMenuInfo, menuBuilder); } else { cascadingMenuInfo = null; view = null; } if (view != null) { g.c(false); g.a((Object) null); int d = d(a); boolean z = d == 1; this.q = d; if (Build.VERSION.SDK_INT >= 26) { g.a(view); i2 = 0; i = 0; } else { int[] iArr = new int[2]; this.o.getLocationOnScreen(iArr); int[] iArr2 = new int[2]; view.getLocationOnScreen(iArr2); if ((this.n & 7) == 5) { iArr[0] = iArr[0] + this.o.getWidth(); iArr2[0] = iArr2[0] + view.getWidth(); } i = iArr2[0] - iArr[0]; i2 = iArr2[1] - iArr[1]; } if ((this.n & 5) == 5) { if (!z) { a = view.getWidth(); i3 = i - a; } i3 = i + a; } else { if (z) { a = view.getWidth(); i3 = i + a; } i3 = i - a; } g.d(i3); g.b(true); g.h(i2); } else { if (this.r) { g.d(this.t); } if (this.s) { g.h(this.u); } g.a(f()); } this.i.add(new CascadingMenuInfo(g, menuBuilder, this.q)); g.a(); ListView d2 = g.d(); d2.setOnKeyListener(this); if (cascadingMenuInfo == null && this.x && menuBuilder.h() != null) { FrameLayout frameLayout = (FrameLayout) from.inflate(R$layout.abc_popup_menu_header_item_layout, (ViewGroup) d2, false); TextView textView = (TextView) frameLayout.findViewById(R.id.title); frameLayout.setEnabled(false); textView.setText(menuBuilder.h()); d2.addHeaderView(frameLayout, null, false); g.a(); } } @Override // androidx.appcompat.view.menu.MenuPopup public void a(MenuBuilder menuBuilder) { menuBuilder.a(this, this.b); if (c()) { d(menuBuilder); } else { this.h.add(menuBuilder); } } private MenuItem a(MenuBuilder menuBuilder, MenuBuilder menuBuilder2) { int size = menuBuilder.size(); for (int i = 0; i < size; i++) { MenuItem item = menuBuilder.getItem(i); if (item.hasSubMenu() && menuBuilder2 == item.getSubMenu()) { return item; } } return null; } private View a(CascadingMenuInfo cascadingMenuInfo, MenuBuilder menuBuilder) { MenuAdapter menuAdapter; int i; int firstVisiblePosition; MenuItem a = a(cascadingMenuInfo.b, menuBuilder); if (a == null) { return null; } ListView a2 = cascadingMenuInfo.a(); ListAdapter adapter = a2.getAdapter(); int i2 = 0; if (adapter instanceof HeaderViewListAdapter) { HeaderViewListAdapter headerViewListAdapter = (HeaderViewListAdapter) adapter; i = headerViewListAdapter.getHeadersCount(); menuAdapter = (MenuAdapter) headerViewListAdapter.getWrappedAdapter(); } else { menuAdapter = (MenuAdapter) adapter; i = 0; } int count = menuAdapter.getCount(); while (true) { if (i2 >= count) { i2 = -1; break; } if (a == menuAdapter.getItem(i2)) { break; } i2++; } if (i2 != -1 && (firstVisiblePosition = (i2 + i) - a2.getFirstVisiblePosition()) >= 0 && firstVisiblePosition < a2.getChildCount()) { return a2.getChildAt(firstVisiblePosition); } return null; } @Override // androidx.appcompat.view.menu.MenuPresenter public void a(boolean z) { Iterator it = this.i.iterator(); while (it.hasNext()) { MenuPopup.a(it.next().a().getAdapter()).notifyDataSetChanged(); } } @Override // androidx.appcompat.view.menu.MenuPresenter public void a(MenuPresenter.Callback callback) { this.y = callback; } @Override // androidx.appcompat.view.menu.MenuPresenter public boolean a(SubMenuBuilder subMenuBuilder) { for (CascadingMenuInfo cascadingMenuInfo : this.i) { if (subMenuBuilder == cascadingMenuInfo.b) { cascadingMenuInfo.a().requestFocus(); return true; } } if (!subMenuBuilder.hasVisibleItems()) { return false; } a((MenuBuilder) subMenuBuilder); MenuPresenter.Callback callback = this.y; if (callback != null) { callback.a(subMenuBuilder); } return true; } @Override // androidx.appcompat.view.menu.MenuPresenter public void a(MenuBuilder menuBuilder, boolean z) { int c = c(menuBuilder); if (c < 0) { return; } int i = c + 1; if (i < this.i.size()) { this.i.get(i).b.a(false); } CascadingMenuInfo remove = this.i.remove(c); remove.b.b(this); if (this.B) { remove.a.b((Object) null); remove.a.a(0); } remove.a.dismiss(); int size = this.i.size(); if (size > 0) { this.q = this.i.get(size - 1).c; } else { this.q = h(); } if (size != 0) { if (z) { this.i.get(0).b.a(false); return; } return; } dismiss(); MenuPresenter.Callback callback = this.y; if (callback != null) { callback.a(menuBuilder, true); } ViewTreeObserver viewTreeObserver = this.z; if (viewTreeObserver != null) { if (viewTreeObserver.isAlive()) { this.z.removeGlobalOnLayoutListener(this.j); } this.z = null; } this.p.removeOnAttachStateChangeListener(this.k); this.A.onDismiss(); } @Override // androidx.appcompat.view.menu.ShowableListMenu public ListView d() { if (this.i.isEmpty()) { return null; } return this.i.get(r0.size() - 1).a(); } @Override // androidx.appcompat.view.menu.MenuPopup public void a(int i) { if (this.m != i) { this.m = i; this.n = GravityCompat.a(i, ViewCompat.k(this.o)); } } @Override // androidx.appcompat.view.menu.MenuPopup public void a(View view) { if (this.o != view) { this.o = view; this.n = GravityCompat.a(this.m, ViewCompat.k(this.o)); } } @Override // androidx.appcompat.view.menu.MenuPopup public void a(PopupWindow.OnDismissListener onDismissListener) { this.A = onDismissListener; } }