package androidx.appcompat.widget; import android.content.Context; import android.content.res.TypedArray; import android.database.DataSetObserver; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Handler; import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.LinearLayout; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.PopupWindow; import androidx.annotation.AttrRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; import androidx.annotation.StyleRes; import androidx.appcompat.R; import androidx.appcompat.view.menu.ShowableListMenu; import androidx.core.view.ViewCompat; import androidx.core.widget.PopupWindowCompat; import c.d.b.a.a; import java.lang.reflect.Method; public class ListPopupWindow implements ShowableListMenu { private static final boolean DEBUG = false; public static final int EXPAND_LIST_TIMEOUT = 250; public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; public static final int INPUT_METHOD_NEEDED = 1; public static final int INPUT_METHOD_NOT_NEEDED = 2; public static final int MATCH_PARENT = -1; public static final int POSITION_PROMPT_ABOVE = 0; public static final int POSITION_PROMPT_BELOW = 1; private static final String TAG = "ListPopupWindow"; public static final int WRAP_CONTENT = -2; private static Method sGetMaxAvailableHeightMethod; private static Method sSetClipToWindowEnabledMethod; private static Method sSetEpicenterBoundsMethod; private ListAdapter mAdapter; private Context mContext; private boolean mDropDownAlwaysVisible; private View mDropDownAnchorView; private int mDropDownGravity; private int mDropDownHeight; private int mDropDownHorizontalOffset; public DropDownListView mDropDownList; private Drawable mDropDownListHighlight; private int mDropDownVerticalOffset; private boolean mDropDownVerticalOffsetSet; private int mDropDownWidth; private int mDropDownWindowLayoutType; private Rect mEpicenterBounds; private boolean mForceIgnoreOutsideTouch; public final Handler mHandler; private final ListSelectorHider mHideSelector; private AdapterView.OnItemClickListener mItemClickListener; private AdapterView.OnItemSelectedListener mItemSelectedListener; public int mListItemExpandMaximum; private boolean mModal; private DataSetObserver mObserver; private boolean mOverlapAnchor; private boolean mOverlapAnchorSet; public PopupWindow mPopup; private int mPromptPosition; private View mPromptView; public final ResizePopupRunnable mResizePopupRunnable; private final PopupScrollListener mScrollListener; private Runnable mShowDropDownRunnable; private final Rect mTempRect; private final PopupTouchInterceptor mTouchInterceptor; /* renamed from: androidx.appcompat.widget.ListPopupWindow$1 reason: invalid class name */ public class AnonymousClass1 extends ForwardingListener { public AnonymousClass1(View view) { super(view); } @Override // androidx.appcompat.widget.ForwardingListener public ListPopupWindow getPopup() { return ListPopupWindow.this; } } /* renamed from: androidx.appcompat.widget.ListPopupWindow$2 reason: invalid class name */ public class AnonymousClass2 implements Runnable { public AnonymousClass2() { } @Override // java.lang.Runnable public void run() { View anchorView = ListPopupWindow.this.getAnchorView(); if (anchorView != null && anchorView.getWindowToken() != null) { ListPopupWindow.this.show(); } } } /* renamed from: androidx.appcompat.widget.ListPopupWindow$3 reason: invalid class name */ public class AnonymousClass3 implements AdapterView.OnItemSelectedListener { public AnonymousClass3() { } @Override // android.widget.AdapterView.OnItemSelectedListener public void onItemSelected(AdapterView adapterView, View view, int i, long j) { DropDownListView dropDownListView; if (i != -1 && (dropDownListView = ListPopupWindow.this.mDropDownList) != null) { dropDownListView.setListSelectionHidden(false); } } @Override // android.widget.AdapterView.OnItemSelectedListener public void onNothingSelected(AdapterView adapterView) { } } public class ListSelectorHider implements Runnable { public ListSelectorHider() { } @Override // java.lang.Runnable public void run() { ListPopupWindow.this.clearListSelection(); } } public class PopupDataSetObserver extends DataSetObserver { public PopupDataSetObserver() { } @Override // android.database.DataSetObserver public void onChanged() { if (ListPopupWindow.this.isShowing()) { ListPopupWindow.this.show(); } } @Override // android.database.DataSetObserver public void onInvalidated() { ListPopupWindow.this.dismiss(); } } public class PopupScrollListener implements AbsListView.OnScrollListener { public PopupScrollListener() { } @Override // android.widget.AbsListView.OnScrollListener public void onScroll(AbsListView absListView, int i, int i2, int i3) { } @Override // android.widget.AbsListView.OnScrollListener public void onScrollStateChanged(AbsListView absListView, int i) { if (i == 1 && !ListPopupWindow.this.isInputMethodNotNeeded() && ListPopupWindow.this.mPopup.getContentView() != null) { ListPopupWindow listPopupWindow = ListPopupWindow.this; listPopupWindow.mHandler.removeCallbacks(listPopupWindow.mResizePopupRunnable); ListPopupWindow.this.mResizePopupRunnable.run(); } } } public class PopupTouchInterceptor implements View.OnTouchListener { public PopupTouchInterceptor() { } @Override // android.view.View.OnTouchListener public boolean onTouch(View view, MotionEvent motionEvent) { PopupWindow popupWindow; int action = motionEvent.getAction(); int x2 = (int) motionEvent.getX(); int y2 = (int) motionEvent.getY(); if (action == 0 && (popupWindow = ListPopupWindow.this.mPopup) != null && popupWindow.isShowing() && x2 >= 0 && x2 < ListPopupWindow.this.mPopup.getWidth() && y2 >= 0 && y2 < ListPopupWindow.this.mPopup.getHeight()) { ListPopupWindow listPopupWindow = ListPopupWindow.this; listPopupWindow.mHandler.postDelayed(listPopupWindow.mResizePopupRunnable, 250); return false; } else if (action != 1) { return false; } else { ListPopupWindow listPopupWindow2 = ListPopupWindow.this; listPopupWindow2.mHandler.removeCallbacks(listPopupWindow2.mResizePopupRunnable); return false; } } } public class ResizePopupRunnable implements Runnable { public ResizePopupRunnable() { } @Override // java.lang.Runnable public void run() { DropDownListView dropDownListView = ListPopupWindow.this.mDropDownList; if (dropDownListView != null && ViewCompat.isAttachedToWindow(dropDownListView) && ListPopupWindow.this.mDropDownList.getCount() > ListPopupWindow.this.mDropDownList.getChildCount()) { int childCount = ListPopupWindow.this.mDropDownList.getChildCount(); ListPopupWindow listPopupWindow = ListPopupWindow.this; if (childCount <= listPopupWindow.mListItemExpandMaximum) { listPopupWindow.mPopup.setInputMethodMode(2); ListPopupWindow.this.show(); } } } } static { if (Build.VERSION.SDK_INT <= 28) { try { sSetClipToWindowEnabledMethod = PopupWindow.class.getDeclaredMethod("setClipToScreenEnabled", Boolean.TYPE); } catch (NoSuchMethodException unused) { Log.i("ListPopupWindow", "Could not find method setClipToScreenEnabled() on PopupWindow. Oh well."); } try { sSetEpicenterBoundsMethod = PopupWindow.class.getDeclaredMethod("setEpicenterBounds", Rect.class); } catch (NoSuchMethodException unused2) { Log.i("ListPopupWindow", "Could not find method setEpicenterBounds(Rect) on PopupWindow. Oh well."); } } if (Build.VERSION.SDK_INT <= 23) { try { sGetMaxAvailableHeightMethod = PopupWindow.class.getDeclaredMethod("getMaxAvailableHeight", View.class, Integer.TYPE, Boolean.TYPE); } catch (NoSuchMethodException unused3) { Log.i("ListPopupWindow", "Could not find method getMaxAvailableHeight(View, int, boolean) on PopupWindow. Oh well."); } } } public ListPopupWindow(@NonNull Context context) { this(context, null, R.attr.listPopupWindowStyle); } public ListPopupWindow(@NonNull Context context, @Nullable AttributeSet attributeSet) { this(context, attributeSet, R.attr.listPopupWindowStyle); } public ListPopupWindow(@NonNull Context context, @Nullable AttributeSet attributeSet, @AttrRes int i) { this(context, attributeSet, i, 0); } public ListPopupWindow(@NonNull Context context, @Nullable AttributeSet attributeSet, @AttrRes int i, @StyleRes int i2) { this.mDropDownHeight = -2; this.mDropDownWidth = -2; this.mDropDownWindowLayoutType = 1002; this.mDropDownGravity = 0; this.mDropDownAlwaysVisible = false; this.mForceIgnoreOutsideTouch = false; this.mListItemExpandMaximum = Integer.MAX_VALUE; this.mPromptPosition = 0; this.mResizePopupRunnable = new ResizePopupRunnable(); this.mTouchInterceptor = new PopupTouchInterceptor(); this.mScrollListener = new PopupScrollListener(); this.mHideSelector = new ListSelectorHider(); this.mTempRect = new Rect(); this.mContext = context; this.mHandler = new Handler(context.getMainLooper()); TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.ListPopupWindow, i, i2); this.mDropDownHorizontalOffset = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.ListPopupWindow_android_dropDownHorizontalOffset, 0); int dimensionPixelOffset = obtainStyledAttributes.getDimensionPixelOffset(R.styleable.ListPopupWindow_android_dropDownVerticalOffset, 0); this.mDropDownVerticalOffset = dimensionPixelOffset; if (dimensionPixelOffset != 0) { this.mDropDownVerticalOffsetSet = true; } obtainStyledAttributes.recycle(); AppCompatPopupWindow appCompatPopupWindow = new AppCompatPopupWindow(context, attributeSet, i, i2); this.mPopup = appCompatPopupWindow; appCompatPopupWindow.setInputMethodMode(1); } /* JADX DEBUG: Multi-variable search result rejected for r7v1, resolved type: android.widget.LinearLayout */ /* JADX WARN: Multi-variable type inference failed */ private int buildDropDown() { int i; int i2; int i3; int i4; boolean z2 = true; if (this.mDropDownList == null) { Context context = this.mContext; this.mShowDropDownRunnable = new AnonymousClass2(); DropDownListView createDropDownListView = createDropDownListView(context, !this.mModal); this.mDropDownList = createDropDownListView; Drawable drawable = this.mDropDownListHighlight; if (drawable != null) { createDropDownListView.setSelector(drawable); } this.mDropDownList.setAdapter(this.mAdapter); this.mDropDownList.setOnItemClickListener(this.mItemClickListener); this.mDropDownList.setFocusable(true); this.mDropDownList.setFocusableInTouchMode(true); this.mDropDownList.setOnItemSelectedListener(new AnonymousClass3()); this.mDropDownList.setOnScrollListener(this.mScrollListener); AdapterView.OnItemSelectedListener onItemSelectedListener = this.mItemSelectedListener; if (onItemSelectedListener != null) { this.mDropDownList.setOnItemSelectedListener(onItemSelectedListener); } DropDownListView dropDownListView = this.mDropDownList; View view = this.mPromptView; if (view != null) { LinearLayout linearLayout = new LinearLayout(context); linearLayout.setOrientation(1); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(-1, 0, 1.0f); int i5 = this.mPromptPosition; if (i5 == 0) { linearLayout.addView(view); linearLayout.addView(dropDownListView, layoutParams); } else if (i5 != 1) { StringBuilder K = a.K("Invalid hint position "); K.append(this.mPromptPosition); Log.e("ListPopupWindow", K.toString()); } else { linearLayout.addView(dropDownListView, layoutParams); linearLayout.addView(view); } int i6 = this.mDropDownWidth; if (i6 >= 0) { i4 = Integer.MIN_VALUE; } else { i6 = 0; i4 = 0; } view.measure(View.MeasureSpec.makeMeasureSpec(i6, i4), 0); LinearLayout.LayoutParams layoutParams2 = (LinearLayout.LayoutParams) view.getLayoutParams(); i = view.getMeasuredHeight() + layoutParams2.topMargin + layoutParams2.bottomMargin; dropDownListView = linearLayout; } else { i = 0; } this.mPopup.setContentView(dropDownListView); } else { ViewGroup viewGroup = (ViewGroup) this.mPopup.getContentView(); View view2 = this.mPromptView; if (view2 != null) { LinearLayout.LayoutParams layoutParams3 = (LinearLayout.LayoutParams) view2.getLayoutParams(); i = layoutParams3.bottomMargin + view2.getMeasuredHeight() + layoutParams3.topMargin; } else { i = 0; } } Drawable background = this.mPopup.getBackground(); if (background != null) { background.getPadding(this.mTempRect); Rect rect = this.mTempRect; int i7 = rect.top; i2 = rect.bottom + i7; if (!this.mDropDownVerticalOffsetSet) { this.mDropDownVerticalOffset = -i7; } } else { this.mTempRect.setEmpty(); i2 = 0; } if (this.mPopup.getInputMethodMode() != 2) { z2 = false; } int maxAvailableHeight = getMaxAvailableHeight(getAnchorView(), this.mDropDownVerticalOffset, z2); if (this.mDropDownAlwaysVisible || this.mDropDownHeight == -1) { return maxAvailableHeight + i2; } int i8 = this.mDropDownWidth; if (i8 == -2) { int i9 = this.mContext.getResources().getDisplayMetrics().widthPixels; Rect rect2 = this.mTempRect; i3 = View.MeasureSpec.makeMeasureSpec(i9 - (rect2.left + rect2.right), Integer.MIN_VALUE); } else if (i8 != -1) { i3 = View.MeasureSpec.makeMeasureSpec(i8, 1073741824); } else { int i10 = this.mContext.getResources().getDisplayMetrics().widthPixels; Rect rect3 = this.mTempRect; i3 = View.MeasureSpec.makeMeasureSpec(i10 - (rect3.left + rect3.right), 1073741824); } int measureHeightOfChildrenCompat = this.mDropDownList.measureHeightOfChildrenCompat(i3, 0, -1, maxAvailableHeight - i, -1); if (measureHeightOfChildrenCompat > 0) { i += this.mDropDownList.getPaddingBottom() + this.mDropDownList.getPaddingTop() + i2; } return measureHeightOfChildrenCompat + i; } private int getMaxAvailableHeight(View view, int i, boolean z2) { if (Build.VERSION.SDK_INT > 23) { return this.mPopup.getMaxAvailableHeight(view, i, z2); } Method method = sGetMaxAvailableHeightMethod; if (method != null) { try { return ((Integer) method.invoke(this.mPopup, view, Integer.valueOf(i), Boolean.valueOf(z2))).intValue(); } catch (Exception unused) { Log.i("ListPopupWindow", "Could not call getMaxAvailableHeightMethod(View, int, boolean) on PopupWindow. Using the public version."); } } return this.mPopup.getMaxAvailableHeight(view, i); } private static boolean isConfirmKey(int i) { return i == 66 || i == 23; } private void removePromptView() { View view = this.mPromptView; if (view != null) { ViewParent parent = view.getParent(); if (parent instanceof ViewGroup) { ((ViewGroup) parent).removeView(this.mPromptView); } } } private void setPopupClipToScreenEnabled(boolean z2) { if (Build.VERSION.SDK_INT <= 28) { Method method = sSetClipToWindowEnabledMethod; if (method != null) { try { method.invoke(this.mPopup, Boolean.valueOf(z2)); } catch (Exception unused) { Log.i("ListPopupWindow", "Could not call setClipToScreenEnabled() on PopupWindow. Oh well."); } } } else { this.mPopup.setIsClippedToScreen(z2); } } public void clearListSelection() { DropDownListView dropDownListView = this.mDropDownList; if (dropDownListView != null) { dropDownListView.setListSelectionHidden(true); dropDownListView.requestLayout(); } } public View.OnTouchListener createDragToOpenListener(View view) { return new AnonymousClass1(view); } @NonNull public DropDownListView createDropDownListView(Context context, boolean z2) { return new DropDownListView(context, z2); } @Override // androidx.appcompat.view.menu.ShowableListMenu public void dismiss() { this.mPopup.dismiss(); removePromptView(); this.mPopup.setContentView(null); this.mDropDownList = null; this.mHandler.removeCallbacks(this.mResizePopupRunnable); } @Nullable public View getAnchorView() { return this.mDropDownAnchorView; } @StyleRes public int getAnimationStyle() { return this.mPopup.getAnimationStyle(); } @Nullable public Drawable getBackground() { return this.mPopup.getBackground(); } @Nullable public Rect getEpicenterBounds() { if (this.mEpicenterBounds != null) { return new Rect(this.mEpicenterBounds); } return null; } public int getHeight() { return this.mDropDownHeight; } public int getHorizontalOffset() { return this.mDropDownHorizontalOffset; } public int getInputMethodMode() { return this.mPopup.getInputMethodMode(); } @Override // androidx.appcompat.view.menu.ShowableListMenu @Nullable public ListView getListView() { return this.mDropDownList; } public int getPromptPosition() { return this.mPromptPosition; } @Nullable public Object getSelectedItem() { if (!isShowing()) { return null; } return this.mDropDownList.getSelectedItem(); } public long getSelectedItemId() { if (!isShowing()) { return Long.MIN_VALUE; } return this.mDropDownList.getSelectedItemId(); } public int getSelectedItemPosition() { if (!isShowing()) { return -1; } return this.mDropDownList.getSelectedItemPosition(); } @Nullable public View getSelectedView() { if (!isShowing()) { return null; } return this.mDropDownList.getSelectedView(); } public int getSoftInputMode() { return this.mPopup.getSoftInputMode(); } public int getVerticalOffset() { if (!this.mDropDownVerticalOffsetSet) { return 0; } return this.mDropDownVerticalOffset; } public int getWidth() { return this.mDropDownWidth; } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public boolean isDropDownAlwaysVisible() { return this.mDropDownAlwaysVisible; } public boolean isInputMethodNotNeeded() { return this.mPopup.getInputMethodMode() == 2; } public boolean isModal() { return this.mModal; } @Override // androidx.appcompat.view.menu.ShowableListMenu public boolean isShowing() { return this.mPopup.isShowing(); } public boolean onKeyDown(int i, @NonNull KeyEvent keyEvent) { if (isShowing() && i != 62 && (this.mDropDownList.getSelectedItemPosition() >= 0 || !isConfirmKey(i))) { int selectedItemPosition = this.mDropDownList.getSelectedItemPosition(); boolean z2 = !this.mPopup.isAboveAnchor(); ListAdapter listAdapter = this.mAdapter; int i2 = Integer.MAX_VALUE; int i3 = Integer.MIN_VALUE; if (listAdapter != null) { boolean areAllItemsEnabled = listAdapter.areAllItemsEnabled(); int lookForSelectablePosition = areAllItemsEnabled ? 0 : this.mDropDownList.lookForSelectablePosition(0, true); int count = areAllItemsEnabled ? listAdapter.getCount() - 1 : this.mDropDownList.lookForSelectablePosition(listAdapter.getCount() - 1, false); i2 = lookForSelectablePosition; i3 = count; } if ((!z2 || i != 19 || selectedItemPosition > i2) && (z2 || i != 20 || selectedItemPosition < i3)) { this.mDropDownList.setListSelectionHidden(false); if (this.mDropDownList.onKeyDown(i, keyEvent)) { this.mPopup.setInputMethodMode(2); this.mDropDownList.requestFocusFromTouch(); show(); if (i == 19 || i == 20 || i == 23 || i == 66) { return true; } } else if (!z2 || i != 20) { if (!z2 && i == 19 && selectedItemPosition == i2) { return true; } } else if (selectedItemPosition == i3) { return true; } } else { clearListSelection(); this.mPopup.setInputMethodMode(1); show(); return true; } } return false; } public boolean onKeyPreIme(int i, @NonNull KeyEvent keyEvent) { if (i != 4 || !isShowing()) { return false; } View view = this.mDropDownAnchorView; if (keyEvent.getAction() == 0 && keyEvent.getRepeatCount() == 0) { KeyEvent.DispatcherState keyDispatcherState = view.getKeyDispatcherState(); if (keyDispatcherState != null) { keyDispatcherState.startTracking(keyEvent, this); } return true; } else if (keyEvent.getAction() != 1) { return false; } else { KeyEvent.DispatcherState keyDispatcherState2 = view.getKeyDispatcherState(); if (keyDispatcherState2 != null) { keyDispatcherState2.handleUpEvent(keyEvent); } if (!keyEvent.isTracking() || keyEvent.isCanceled()) { return false; } dismiss(); return true; } } public boolean onKeyUp(int i, @NonNull KeyEvent keyEvent) { if (!isShowing() || this.mDropDownList.getSelectedItemPosition() < 0) { return false; } boolean onKeyUp = this.mDropDownList.onKeyUp(i, keyEvent); if (onKeyUp && isConfirmKey(i)) { dismiss(); } return onKeyUp; } public boolean performItemClick(int i) { if (!isShowing()) { return false; } if (this.mItemClickListener == null) { return true; } DropDownListView dropDownListView = this.mDropDownList; this.mItemClickListener.onItemClick(dropDownListView, dropDownListView.getChildAt(i - dropDownListView.getFirstVisiblePosition()), i, dropDownListView.getAdapter().getItemId(i)); return true; } public void postShow() { this.mHandler.post(this.mShowDropDownRunnable); } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setAdapter(@Nullable ListAdapter listAdapter) { DataSetObserver dataSetObserver = this.mObserver; if (dataSetObserver == null) { this.mObserver = new PopupDataSetObserver(); } else { ListAdapter listAdapter2 = this.mAdapter; if (listAdapter2 != null) { listAdapter2.unregisterDataSetObserver(dataSetObserver); } } this.mAdapter = listAdapter; if (listAdapter != null) { listAdapter.registerDataSetObserver(this.mObserver); } DropDownListView dropDownListView = this.mDropDownList; if (dropDownListView != null) { dropDownListView.setAdapter(this.mAdapter); } } public void setAnchorView(@Nullable View view) { this.mDropDownAnchorView = view; } public void setAnimationStyle(@StyleRes int i) { this.mPopup.setAnimationStyle(i); } public void setBackgroundDrawable(@Nullable Drawable drawable) { this.mPopup.setBackgroundDrawable(drawable); } public void setContentWidth(int i) { Drawable background = this.mPopup.getBackground(); if (background != null) { background.getPadding(this.mTempRect); Rect rect = this.mTempRect; this.mDropDownWidth = rect.left + rect.right + i; return; } setWidth(i); } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void setDropDownAlwaysVisible(boolean z2) { this.mDropDownAlwaysVisible = z2; } public void setDropDownGravity(int i) { this.mDropDownGravity = i; } public void setEpicenterBounds(@Nullable Rect rect) { this.mEpicenterBounds = rect != null ? new Rect(rect) : null; } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void setForceIgnoreOutsideTouch(boolean z2) { this.mForceIgnoreOutsideTouch = z2; } public void setHeight(int i) { if (i >= 0 || -2 == i || -1 == i) { this.mDropDownHeight = i; return; } throw new IllegalArgumentException("Invalid height. Must be a positive value, MATCH_PARENT, or WRAP_CONTENT."); } public void setHorizontalOffset(int i) { this.mDropDownHorizontalOffset = i; } public void setInputMethodMode(int i) { this.mPopup.setInputMethodMode(i); } public void setListItemExpandMax(int i) { this.mListItemExpandMaximum = i; } public void setListSelector(Drawable drawable) { this.mDropDownListHighlight = drawable; } public void setModal(boolean z2) { this.mModal = z2; this.mPopup.setFocusable(z2); } public void setOnDismissListener(@Nullable PopupWindow.OnDismissListener onDismissListener) { this.mPopup.setOnDismissListener(onDismissListener); } public void setOnItemClickListener(@Nullable AdapterView.OnItemClickListener onItemClickListener) { this.mItemClickListener = onItemClickListener; } public void setOnItemSelectedListener(@Nullable AdapterView.OnItemSelectedListener onItemSelectedListener) { this.mItemSelectedListener = onItemSelectedListener; } @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void setOverlapAnchor(boolean z2) { this.mOverlapAnchorSet = true; this.mOverlapAnchor = z2; } public void setPromptPosition(int i) { this.mPromptPosition = i; } public void setPromptView(@Nullable View view) { boolean isShowing = isShowing(); if (isShowing) { removePromptView(); } this.mPromptView = view; if (isShowing) { show(); } } public void setSelection(int i) { DropDownListView dropDownListView = this.mDropDownList; if (isShowing() && dropDownListView != null) { dropDownListView.setListSelectionHidden(false); dropDownListView.setSelection(i); if (dropDownListView.getChoiceMode() != 0) { dropDownListView.setItemChecked(i, true); } } } public void setSoftInputMode(int i) { this.mPopup.setSoftInputMode(i); } public void setVerticalOffset(int i) { this.mDropDownVerticalOffset = i; this.mDropDownVerticalOffsetSet = true; } public void setWidth(int i) { this.mDropDownWidth = i; } public void setWindowLayoutType(int i) { this.mDropDownWindowLayoutType = i; } @Override // androidx.appcompat.view.menu.ShowableListMenu public void show() { int buildDropDown = buildDropDown(); boolean isInputMethodNotNeeded = isInputMethodNotNeeded(); PopupWindowCompat.setWindowLayoutType(this.mPopup, this.mDropDownWindowLayoutType); boolean z2 = true; if (!this.mPopup.isShowing()) { int i = this.mDropDownWidth; if (i == -1) { i = -1; } else if (i == -2) { i = getAnchorView().getWidth(); } int i2 = this.mDropDownHeight; if (i2 == -1) { buildDropDown = -1; } else if (i2 != -2) { buildDropDown = i2; } this.mPopup.setWidth(i); this.mPopup.setHeight(buildDropDown); setPopupClipToScreenEnabled(true); this.mPopup.setOutsideTouchable(!this.mForceIgnoreOutsideTouch && !this.mDropDownAlwaysVisible); this.mPopup.setTouchInterceptor(this.mTouchInterceptor); if (this.mOverlapAnchorSet) { PopupWindowCompat.setOverlapAnchor(this.mPopup, this.mOverlapAnchor); } if (Build.VERSION.SDK_INT <= 28) { Method method = sSetEpicenterBoundsMethod; if (method != null) { try { method.invoke(this.mPopup, this.mEpicenterBounds); } catch (Exception e) { Log.e("ListPopupWindow", "Could not invoke setEpicenterBounds on PopupWindow", e); } } } else { this.mPopup.setEpicenterBounds(this.mEpicenterBounds); } PopupWindowCompat.showAsDropDown(this.mPopup, getAnchorView(), this.mDropDownHorizontalOffset, this.mDropDownVerticalOffset, this.mDropDownGravity); this.mDropDownList.setSelection(-1); if (!this.mModal || this.mDropDownList.isInTouchMode()) { clearListSelection(); } if (!this.mModal) { this.mHandler.post(this.mHideSelector); } } else if (ViewCompat.isAttachedToWindow(getAnchorView())) { int i3 = this.mDropDownWidth; if (i3 == -1) { i3 = -1; } else if (i3 == -2) { i3 = getAnchorView().getWidth(); } int i4 = this.mDropDownHeight; if (i4 == -1) { if (!isInputMethodNotNeeded) { buildDropDown = -1; } if (isInputMethodNotNeeded) { this.mPopup.setWidth(this.mDropDownWidth == -1 ? -1 : 0); this.mPopup.setHeight(0); } else { this.mPopup.setWidth(this.mDropDownWidth == -1 ? -1 : 0); this.mPopup.setHeight(-1); } } else if (i4 != -2) { buildDropDown = i4; } PopupWindow popupWindow = this.mPopup; if (this.mForceIgnoreOutsideTouch || this.mDropDownAlwaysVisible) { z2 = false; } popupWindow.setOutsideTouchable(z2); this.mPopup.update(getAnchorView(), this.mDropDownHorizontalOffset, this.mDropDownVerticalOffset, i3 < 0 ? -1 : i3, buildDropDown < 0 ? -1 : buildDropDown); } } }