package androidx.appcompat.widget; import android.annotation.SuppressLint; import android.content.Context; import android.content.DialogInterface; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.TypedArray; import android.database.DataSetObserver; import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.Spinner; import android.widget.SpinnerAdapter; import android.widget.ThemedSpinnerAdapter; import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; import androidx.annotation.VisibleForTesting; import androidx.appcompat.R; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.content.res.AppCompatResources; import androidx.appcompat.view.ContextThemeWrapper; import androidx.appcompat.view.menu.ShowableListMenu; import androidx.core.view.TintableBackgroundView; import androidx.core.view.ViewCompat; public class AppCompatSpinner extends Spinner implements TintableBackgroundView { private static final int[] ATTRS_ANDROID_SPINNERMODE = {16843505}; private static final int MAX_ITEMS_MEASURED = 15; private static final int MODE_DIALOG = 0; private static final int MODE_DROPDOWN = 1; private static final int MODE_THEME = -1; private static final String TAG = "AppCompatSpinner"; private final AppCompatBackgroundHelper mBackgroundTintHelper; public int mDropDownWidth; private ForwardingListener mForwardingListener; private SpinnerPopup mPopup; private final Context mPopupContext; private final boolean mPopupSet; private SpinnerAdapter mTempAdapter; public final Rect mTempRect; /* renamed from: androidx.appcompat.widget.AppCompatSpinner$1 reason: invalid class name */ public class AnonymousClass1 extends ForwardingListener { public final /* synthetic */ DropdownPopup val$popup; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public AnonymousClass1(View view, DropdownPopup dropdownPopup) { super(view); this.val$popup = dropdownPopup; } @Override // androidx.appcompat.widget.ForwardingListener public ShowableListMenu getPopup() { return this.val$popup; } @Override // androidx.appcompat.widget.ForwardingListener @SuppressLint({"SyntheticAccessor"}) public boolean onForwardingStarted() { if (AppCompatSpinner.this.getInternalPopup().isShowing()) { return true; } AppCompatSpinner.this.showPopup(); return true; } } /* renamed from: androidx.appcompat.widget.AppCompatSpinner$2 reason: invalid class name */ public class AnonymousClass2 implements ViewTreeObserver.OnGlobalLayoutListener { public AnonymousClass2() { } @Override // android.view.ViewTreeObserver.OnGlobalLayoutListener public void onGlobalLayout() { if (!AppCompatSpinner.this.getInternalPopup().isShowing()) { AppCompatSpinner.this.showPopup(); } ViewTreeObserver viewTreeObserver = AppCompatSpinner.this.getViewTreeObserver(); if (viewTreeObserver != null) { viewTreeObserver.removeOnGlobalLayoutListener(this); } } } @VisibleForTesting public class DialogPopup implements SpinnerPopup, DialogInterface.OnClickListener { private ListAdapter mListAdapter; @VisibleForTesting public AlertDialog mPopup; private CharSequence mPrompt; public DialogPopup() { } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void dismiss() { AlertDialog alertDialog = this.mPopup; if (alertDialog != null) { alertDialog.dismiss(); this.mPopup = null; } } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public Drawable getBackground() { return null; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public CharSequence getHintText() { return this.mPrompt; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public int getHorizontalOffset() { return 0; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public int getHorizontalOriginalOffset() { return 0; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public int getVerticalOffset() { return 0; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public boolean isShowing() { AlertDialog alertDialog = this.mPopup; if (alertDialog != null) { return alertDialog.isShowing(); } return false; } @Override // android.content.DialogInterface.OnClickListener public void onClick(DialogInterface dialogInterface, int i) { AppCompatSpinner.this.setSelection(i); if (AppCompatSpinner.this.getOnItemClickListener() != null) { AppCompatSpinner.this.performItemClick(null, i, this.mListAdapter.getItemId(i)); } dismiss(); } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setAdapter(ListAdapter listAdapter) { this.mListAdapter = listAdapter; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setBackgroundDrawable(Drawable drawable) { Log.e(AppCompatSpinner.TAG, "Cannot set popup background for MODE_DIALOG, ignoring"); } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setHorizontalOffset(int i) { Log.e(AppCompatSpinner.TAG, "Cannot set horizontal offset for MODE_DIALOG, ignoring"); } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setHorizontalOriginalOffset(int i) { Log.e(AppCompatSpinner.TAG, "Cannot set horizontal (original) offset for MODE_DIALOG, ignoring"); } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setPromptText(CharSequence charSequence) { this.mPrompt = charSequence; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setVerticalOffset(int i) { Log.e(AppCompatSpinner.TAG, "Cannot set vertical offset for MODE_DIALOG, ignoring"); } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void show(int i, int i2) { if (this.mListAdapter != null) { AlertDialog.Builder builder = new AlertDialog.Builder(AppCompatSpinner.this.getPopupContext()); CharSequence charSequence = this.mPrompt; if (charSequence != null) { builder.setTitle(charSequence); } AlertDialog create = builder.setSingleChoiceItems(this.mListAdapter, AppCompatSpinner.this.getSelectedItemPosition(), this).create(); this.mPopup = create; ListView listView = create.getListView(); listView.setTextDirection(i); listView.setTextAlignment(i2); this.mPopup.show(); } } } public static class DropDownAdapter implements ListAdapter, SpinnerAdapter { private SpinnerAdapter mAdapter; private ListAdapter mListAdapter; public DropDownAdapter(@Nullable SpinnerAdapter spinnerAdapter, @Nullable Resources.Theme theme) { this.mAdapter = spinnerAdapter; if (spinnerAdapter instanceof ListAdapter) { this.mListAdapter = (ListAdapter) spinnerAdapter; } if (theme == null) { return; } if (Build.VERSION.SDK_INT >= 23 && (spinnerAdapter instanceof ThemedSpinnerAdapter)) { ThemedSpinnerAdapter themedSpinnerAdapter = (ThemedSpinnerAdapter) spinnerAdapter; if (themedSpinnerAdapter.getDropDownViewTheme() != theme) { themedSpinnerAdapter.setDropDownViewTheme(theme); } } else if (spinnerAdapter instanceof ThemedSpinnerAdapter) { ThemedSpinnerAdapter themedSpinnerAdapter2 = (ThemedSpinnerAdapter) spinnerAdapter; if (themedSpinnerAdapter2.getDropDownViewTheme() == null) { themedSpinnerAdapter2.setDropDownViewTheme(theme); } } } @Override // android.widget.ListAdapter public boolean areAllItemsEnabled() { ListAdapter listAdapter = this.mListAdapter; if (listAdapter != null) { return listAdapter.areAllItemsEnabled(); } return true; } @Override // android.widget.Adapter public int getCount() { SpinnerAdapter spinnerAdapter = this.mAdapter; if (spinnerAdapter == null) { return 0; } return spinnerAdapter.getCount(); } @Override // android.widget.SpinnerAdapter public View getDropDownView(int i, View view, ViewGroup viewGroup) { SpinnerAdapter spinnerAdapter = this.mAdapter; if (spinnerAdapter == null) { return null; } return spinnerAdapter.getDropDownView(i, view, viewGroup); } @Override // android.widget.Adapter public Object getItem(int i) { SpinnerAdapter spinnerAdapter = this.mAdapter; if (spinnerAdapter == null) { return null; } return spinnerAdapter.getItem(i); } @Override // android.widget.Adapter public long getItemId(int i) { SpinnerAdapter spinnerAdapter = this.mAdapter; if (spinnerAdapter == null) { return -1; } return spinnerAdapter.getItemId(i); } @Override // android.widget.Adapter public int getItemViewType(int i) { return 0; } @Override // android.widget.Adapter public View getView(int i, View view, ViewGroup viewGroup) { return getDropDownView(i, view, viewGroup); } @Override // android.widget.Adapter public int getViewTypeCount() { return 1; } @Override // android.widget.Adapter public boolean hasStableIds() { SpinnerAdapter spinnerAdapter = this.mAdapter; return spinnerAdapter != null && spinnerAdapter.hasStableIds(); } @Override // android.widget.Adapter public boolean isEmpty() { return getCount() == 0; } @Override // android.widget.ListAdapter public boolean isEnabled(int i) { ListAdapter listAdapter = this.mListAdapter; if (listAdapter != null) { return listAdapter.isEnabled(i); } return true; } @Override // android.widget.Adapter public void registerDataSetObserver(DataSetObserver dataSetObserver) { SpinnerAdapter spinnerAdapter = this.mAdapter; if (spinnerAdapter != null) { spinnerAdapter.registerDataSetObserver(dataSetObserver); } } @Override // android.widget.Adapter public void unregisterDataSetObserver(DataSetObserver dataSetObserver) { SpinnerAdapter spinnerAdapter = this.mAdapter; if (spinnerAdapter != null) { spinnerAdapter.unregisterDataSetObserver(dataSetObserver); } } } @VisibleForTesting public class DropdownPopup extends ListPopupWindow implements SpinnerPopup { public ListAdapter mAdapter; private CharSequence mHintText; private int mOriginalHorizontalOffset; private final Rect mVisibleRect = new Rect(); /* renamed from: androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$1 reason: invalid class name */ public class AnonymousClass1 implements AdapterView.OnItemClickListener { public final /* synthetic */ AppCompatSpinner val$this$0; public AnonymousClass1(AppCompatSpinner appCompatSpinner) { this.val$this$0 = appCompatSpinner; } @Override // android.widget.AdapterView.OnItemClickListener public void onItemClick(AdapterView adapterView, View view, int i, long j) { AppCompatSpinner.this.setSelection(i); if (AppCompatSpinner.this.getOnItemClickListener() != null) { DropdownPopup dropdownPopup = DropdownPopup.this; AppCompatSpinner.this.performItemClick(view, i, dropdownPopup.mAdapter.getItemId(i)); } DropdownPopup.this.dismiss(); } } /* renamed from: androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$2 reason: invalid class name */ public class AnonymousClass2 implements ViewTreeObserver.OnGlobalLayoutListener { public AnonymousClass2() { } @Override // android.view.ViewTreeObserver.OnGlobalLayoutListener public void onGlobalLayout() { DropdownPopup dropdownPopup = DropdownPopup.this; if (!dropdownPopup.isVisibleToUser(AppCompatSpinner.this)) { DropdownPopup.this.dismiss(); return; } DropdownPopup.this.computeContentWidth(); DropdownPopup.access$001(DropdownPopup.this); } } /* renamed from: androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$3 reason: invalid class name */ public class AnonymousClass3 implements PopupWindow.OnDismissListener { public final /* synthetic */ ViewTreeObserver.OnGlobalLayoutListener val$layoutListener; public AnonymousClass3(ViewTreeObserver.OnGlobalLayoutListener onGlobalLayoutListener) { this.val$layoutListener = onGlobalLayoutListener; } @Override // android.widget.PopupWindow.OnDismissListener public void onDismiss() { ViewTreeObserver viewTreeObserver = AppCompatSpinner.this.getViewTreeObserver(); if (viewTreeObserver != null) { viewTreeObserver.removeGlobalOnLayoutListener(this.val$layoutListener); } } } public DropdownPopup(Context context, AttributeSet attributeSet, int i) { super(context, attributeSet, i); setAnchorView(AppCompatSpinner.this); setModal(true); setPromptPosition(0); setOnItemClickListener(new AnonymousClass1(AppCompatSpinner.this)); } public static /* synthetic */ void access$001(DropdownPopup dropdownPopup) { super.show(); } public void computeContentWidth() { Drawable background = getBackground(); int i = 0; if (background != null) { background.getPadding(AppCompatSpinner.this.mTempRect); i = ViewUtils.isLayoutRtl(AppCompatSpinner.this) ? AppCompatSpinner.this.mTempRect.right : -AppCompatSpinner.this.mTempRect.left; } else { Rect rect = AppCompatSpinner.this.mTempRect; rect.right = 0; rect.left = 0; } int paddingLeft = AppCompatSpinner.this.getPaddingLeft(); int paddingRight = AppCompatSpinner.this.getPaddingRight(); int width = AppCompatSpinner.this.getWidth(); AppCompatSpinner appCompatSpinner = AppCompatSpinner.this; int i2 = appCompatSpinner.mDropDownWidth; if (i2 == -2) { int compatMeasureContentWidth = appCompatSpinner.compatMeasureContentWidth((SpinnerAdapter) this.mAdapter, getBackground()); int i3 = AppCompatSpinner.this.getContext().getResources().getDisplayMetrics().widthPixels; Rect rect2 = AppCompatSpinner.this.mTempRect; int i4 = (i3 - rect2.left) - rect2.right; if (compatMeasureContentWidth > i4) { compatMeasureContentWidth = i4; } setContentWidth(Math.max(compatMeasureContentWidth, (width - paddingLeft) - paddingRight)); } else if (i2 == -1) { setContentWidth((width - paddingLeft) - paddingRight); } else { setContentWidth(i2); } setHorizontalOffset(ViewUtils.isLayoutRtl(AppCompatSpinner.this) ? (((width - paddingRight) - getWidth()) - getHorizontalOriginalOffset()) + i : getHorizontalOriginalOffset() + paddingLeft + i); } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public CharSequence getHintText() { return this.mHintText; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public int getHorizontalOriginalOffset() { return this.mOriginalHorizontalOffset; } public boolean isVisibleToUser(View view) { return ViewCompat.isAttachedToWindow(view) && view.getGlobalVisibleRect(this.mVisibleRect); } @Override // androidx.appcompat.widget.ListPopupWindow, androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setAdapter(ListAdapter listAdapter) { super.setAdapter(listAdapter); this.mAdapter = listAdapter; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setHorizontalOriginalOffset(int i) { this.mOriginalHorizontalOffset = i; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void setPromptText(CharSequence charSequence) { this.mHintText = charSequence; } @Override // androidx.appcompat.widget.AppCompatSpinner.SpinnerPopup public void show(int i, int i2) { ViewTreeObserver viewTreeObserver; boolean isShowing = isShowing(); computeContentWidth(); setInputMethodMode(2); super.show(); ListView listView = getListView(); listView.setChoiceMode(1); listView.setTextDirection(i); listView.setTextAlignment(i2); setSelection(AppCompatSpinner.this.getSelectedItemPosition()); if (!isShowing && (viewTreeObserver = AppCompatSpinner.this.getViewTreeObserver()) != null) { AnonymousClass2 r5 = new AnonymousClass2(); viewTreeObserver.addOnGlobalLayoutListener(r5); setOnDismissListener(new AnonymousClass3(r5)); } } } public static class SavedState extends View.BaseSavedState { public static final Parcelable.Creator CREATOR = new AnonymousClass1(); public boolean mShowDropdown; /* renamed from: androidx.appcompat.widget.AppCompatSpinner$SavedState$1 reason: invalid class name */ public class AnonymousClass1 implements Parcelable.Creator { @Override // android.os.Parcelable.Creator public SavedState createFromParcel(Parcel parcel) { return new SavedState(parcel); } @Override // android.os.Parcelable.Creator public SavedState[] newArray(int i) { return new SavedState[i]; } } public SavedState(Parcel parcel) { super(parcel); this.mShowDropdown = parcel.readByte() != 0; } public SavedState(Parcelable parcelable) { super(parcelable); } @Override // android.view.View.BaseSavedState, android.os.Parcelable, android.view.AbsSavedState public void writeToParcel(Parcel parcel, int i) { super.writeToParcel(parcel, i); parcel.writeByte(this.mShowDropdown ? (byte) 1 : 0); } } @VisibleForTesting public interface SpinnerPopup { void dismiss(); Drawable getBackground(); CharSequence getHintText(); int getHorizontalOffset(); int getHorizontalOriginalOffset(); int getVerticalOffset(); boolean isShowing(); void setAdapter(ListAdapter listAdapter); void setBackgroundDrawable(Drawable drawable); void setHorizontalOffset(int i); void setHorizontalOriginalOffset(int i); void setPromptText(CharSequence charSequence); void setVerticalOffset(int i); void show(int i, int i2); } public AppCompatSpinner(@NonNull Context context) { this(context, (AttributeSet) null); } public AppCompatSpinner(@NonNull Context context, int i) { this(context, null, R.attr.spinnerStyle, i); } public AppCompatSpinner(@NonNull Context context, @Nullable AttributeSet attributeSet) { this(context, attributeSet, R.attr.spinnerStyle); } public AppCompatSpinner(@NonNull Context context, @Nullable AttributeSet attributeSet, int i) { this(context, attributeSet, i, -1); } public AppCompatSpinner(@NonNull Context context, @Nullable AttributeSet attributeSet, int i, int i2) { this(context, attributeSet, i, i2, null); } /* JADX WARNING: Code restructure failed: missing block: B:23:0x0060, code lost: if (r11 != null) goto L_0x004f; */ /* JADX WARNING: Removed duplicated region for block: B:27:0x0067 */ public AppCompatSpinner(@NonNull Context context, @Nullable AttributeSet attributeSet, int i, int i2, Resources.Theme theme) { super(context, attributeSet, i); Throwable th; TypedArray typedArray; Exception e; this.mTempRect = new Rect(); ThemeUtils.checkAppCompatTheme(this, getContext()); TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(context, attributeSet, R.styleable.Spinner, i, 0); this.mBackgroundTintHelper = new AppCompatBackgroundHelper(this); if (theme != null) { this.mPopupContext = new ContextThemeWrapper(context, theme); } else { int resourceId = obtainStyledAttributes.getResourceId(R.styleable.Spinner_popupTheme, 0); if (resourceId != 0) { this.mPopupContext = new ContextThemeWrapper(context, resourceId); } else { this.mPopupContext = context; } } TypedArray typedArray2 = null; if (i2 == -1) { try { typedArray = context.obtainStyledAttributes(attributeSet, ATTRS_ANDROID_SPINNERMODE, i, 0); try { if (typedArray.hasValue(0)) { i2 = typedArray.getInt(0, 0); } } catch (Exception e2) { e = e2; try { Log.i(TAG, "Could not read android:spinnerMode", e); } catch (Throwable th2) { th = th2; typedArray2 = typedArray; if (typedArray2 != null) { typedArray2.recycle(); } throw th; } } } catch (Exception e3) { e = e3; typedArray = null; Log.i(TAG, "Could not read android:spinnerMode", e); } catch (Throwable th3) { th = th3; if (typedArray2 != null) { } throw th; } typedArray.recycle(); } if (i2 == 0) { DialogPopup dialogPopup = new DialogPopup(); this.mPopup = dialogPopup; dialogPopup.setPromptText(obtainStyledAttributes.getString(R.styleable.Spinner_android_prompt)); } else if (i2 == 1) { DropdownPopup dropdownPopup = new DropdownPopup(this.mPopupContext, attributeSet, i); TintTypedArray obtainStyledAttributes2 = TintTypedArray.obtainStyledAttributes(this.mPopupContext, attributeSet, R.styleable.Spinner, i, 0); this.mDropDownWidth = obtainStyledAttributes2.getLayoutDimension(R.styleable.Spinner_android_dropDownWidth, -2); dropdownPopup.setBackgroundDrawable(obtainStyledAttributes2.getDrawable(R.styleable.Spinner_android_popupBackground)); dropdownPopup.setPromptText(obtainStyledAttributes.getString(R.styleable.Spinner_android_prompt)); obtainStyledAttributes2.recycle(); this.mPopup = dropdownPopup; this.mForwardingListener = new AnonymousClass1(this, dropdownPopup); } CharSequence[] textArray = obtainStyledAttributes.getTextArray(R.styleable.Spinner_android_entries); if (textArray != null) { ArrayAdapter arrayAdapter = new ArrayAdapter(context, 17367048, textArray); arrayAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item); setAdapter((SpinnerAdapter) arrayAdapter); } obtainStyledAttributes.recycle(); this.mPopupSet = true; SpinnerAdapter spinnerAdapter = this.mTempAdapter; if (spinnerAdapter != null) { setAdapter(spinnerAdapter); this.mTempAdapter = null; } this.mBackgroundTintHelper.loadFromAttributes(attributeSet, i); } public int compatMeasureContentWidth(SpinnerAdapter spinnerAdapter, Drawable drawable) { int i = 0; if (spinnerAdapter == null) { return 0; } int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredWidth(), 0); int makeMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(getMeasuredHeight(), 0); int max = Math.max(0, getSelectedItemPosition()); int min = Math.min(spinnerAdapter.getCount(), max + 15); View view = null; int i2 = 0; for (int max2 = Math.max(0, max - (15 - (min - max))); max2 < min; max2++) { int itemViewType = spinnerAdapter.getItemViewType(max2); if (itemViewType != i) { view = null; i = itemViewType; } view = spinnerAdapter.getView(max2, view, this); if (view.getLayoutParams() == null) { view.setLayoutParams(new ViewGroup.LayoutParams(-2, -2)); } view.measure(makeMeasureSpec, makeMeasureSpec2); i2 = Math.max(i2, view.getMeasuredWidth()); } if (drawable == null) { return i2; } drawable.getPadding(this.mTempRect); Rect rect = this.mTempRect; return i2 + rect.left + rect.right; } @Override // android.view.View, android.view.ViewGroup public void drawableStateChanged() { super.drawableStateChanged(); AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper; if (appCompatBackgroundHelper != null) { appCompatBackgroundHelper.applySupportBackgroundTint(); } } @Override // android.widget.Spinner public int getDropDownHorizontalOffset() { SpinnerPopup spinnerPopup = this.mPopup; return spinnerPopup != null ? spinnerPopup.getHorizontalOffset() : super.getDropDownHorizontalOffset(); } @Override // android.widget.Spinner public int getDropDownVerticalOffset() { SpinnerPopup spinnerPopup = this.mPopup; return spinnerPopup != null ? spinnerPopup.getVerticalOffset() : super.getDropDownVerticalOffset(); } @Override // android.widget.Spinner public int getDropDownWidth() { return this.mPopup != null ? this.mDropDownWidth : super.getDropDownWidth(); } @VisibleForTesting public final SpinnerPopup getInternalPopup() { return this.mPopup; } @Override // android.widget.Spinner public Drawable getPopupBackground() { SpinnerPopup spinnerPopup = this.mPopup; return spinnerPopup != null ? spinnerPopup.getBackground() : super.getPopupBackground(); } @Override // android.widget.Spinner public Context getPopupContext() { return this.mPopupContext; } @Override // android.widget.Spinner public CharSequence getPrompt() { SpinnerPopup spinnerPopup = this.mPopup; return spinnerPopup != null ? spinnerPopup.getHintText() : super.getPrompt(); } @Override // androidx.core.view.TintableBackgroundView @Nullable @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public ColorStateList getSupportBackgroundTintList() { AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper; if (appCompatBackgroundHelper != null) { return appCompatBackgroundHelper.getSupportBackgroundTintList(); } return null; } @Override // androidx.core.view.TintableBackgroundView @Nullable @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public PorterDuff.Mode getSupportBackgroundTintMode() { AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper; if (appCompatBackgroundHelper != null) { return appCompatBackgroundHelper.getSupportBackgroundTintMode(); } return null; } @Override // android.widget.Spinner, android.view.View, android.widget.AdapterView, android.view.ViewGroup public void onDetachedFromWindow() { super.onDetachedFromWindow(); SpinnerPopup spinnerPopup = this.mPopup; if (spinnerPopup != null && spinnerPopup.isShowing()) { this.mPopup.dismiss(); } } @Override // android.widget.Spinner, android.widget.AbsSpinner, android.view.View public void onMeasure(int i, int i2) { super.onMeasure(i, i2); if (this.mPopup != null && View.MeasureSpec.getMode(i) == Integer.MIN_VALUE) { setMeasuredDimension(Math.min(Math.max(getMeasuredWidth(), compatMeasureContentWidth(getAdapter(), getBackground())), View.MeasureSpec.getSize(i)), getMeasuredHeight()); } } @Override // android.widget.Spinner, android.widget.AbsSpinner, android.view.View public void onRestoreInstanceState(Parcelable parcelable) { ViewTreeObserver viewTreeObserver; SavedState savedState = (SavedState) parcelable; super.onRestoreInstanceState(savedState.getSuperState()); if (savedState.mShowDropdown && (viewTreeObserver = getViewTreeObserver()) != null) { viewTreeObserver.addOnGlobalLayoutListener(new AnonymousClass2()); } } @Override // android.widget.Spinner, android.widget.AbsSpinner, android.view.View public Parcelable onSaveInstanceState() { SavedState savedState = new SavedState(super.onSaveInstanceState()); SpinnerPopup spinnerPopup = this.mPopup; savedState.mShowDropdown = spinnerPopup != null && spinnerPopup.isShowing(); return savedState; } @Override // android.widget.Spinner, android.view.View public boolean onTouchEvent(MotionEvent motionEvent) { ForwardingListener forwardingListener = this.mForwardingListener; if (forwardingListener == null || !forwardingListener.onTouch(this, motionEvent)) { return super.onTouchEvent(motionEvent); } return true; } @Override // android.widget.Spinner, android.view.View public boolean performClick() { SpinnerPopup spinnerPopup = this.mPopup; if (spinnerPopup == null) { return super.performClick(); } if (spinnerPopup.isShowing()) { return true; } showPopup(); return true; } @Override // android.widget.Spinner, android.widget.AbsSpinner public void setAdapter(SpinnerAdapter spinnerAdapter) { if (!this.mPopupSet) { this.mTempAdapter = spinnerAdapter; return; } super.setAdapter(spinnerAdapter); if (this.mPopup != null) { Context context = this.mPopupContext; if (context == null) { context = getContext(); } this.mPopup.setAdapter(new DropDownAdapter(spinnerAdapter, context.getTheme())); } } @Override // android.view.View public void setBackgroundDrawable(Drawable drawable) { super.setBackgroundDrawable(drawable); AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper; if (appCompatBackgroundHelper != null) { appCompatBackgroundHelper.onSetBackgroundDrawable(drawable); } } @Override // android.view.View public void setBackgroundResource(@DrawableRes int i) { super.setBackgroundResource(i); AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper; if (appCompatBackgroundHelper != null) { appCompatBackgroundHelper.onSetBackgroundResource(i); } } @Override // android.widget.Spinner public void setDropDownHorizontalOffset(int i) { SpinnerPopup spinnerPopup = this.mPopup; if (spinnerPopup != null) { spinnerPopup.setHorizontalOriginalOffset(i); this.mPopup.setHorizontalOffset(i); return; } super.setDropDownHorizontalOffset(i); } @Override // android.widget.Spinner public void setDropDownVerticalOffset(int i) { SpinnerPopup spinnerPopup = this.mPopup; if (spinnerPopup != null) { spinnerPopup.setVerticalOffset(i); } else { super.setDropDownVerticalOffset(i); } } @Override // android.widget.Spinner public void setDropDownWidth(int i) { if (this.mPopup != null) { this.mDropDownWidth = i; } else { super.setDropDownWidth(i); } } @Override // android.widget.Spinner public void setPopupBackgroundDrawable(Drawable drawable) { SpinnerPopup spinnerPopup = this.mPopup; if (spinnerPopup != null) { spinnerPopup.setBackgroundDrawable(drawable); } else { super.setPopupBackgroundDrawable(drawable); } } @Override // android.widget.Spinner public void setPopupBackgroundResource(@DrawableRes int i) { setPopupBackgroundDrawable(AppCompatResources.getDrawable(getPopupContext(), i)); } @Override // android.widget.Spinner public void setPrompt(CharSequence charSequence) { SpinnerPopup spinnerPopup = this.mPopup; if (spinnerPopup != null) { spinnerPopup.setPromptText(charSequence); } else { super.setPrompt(charSequence); } } @Override // androidx.core.view.TintableBackgroundView @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void setSupportBackgroundTintList(@Nullable ColorStateList colorStateList) { AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper; if (appCompatBackgroundHelper != null) { appCompatBackgroundHelper.setSupportBackgroundTintList(colorStateList); } } @Override // androidx.core.view.TintableBackgroundView @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public void setSupportBackgroundTintMode(@Nullable PorterDuff.Mode mode) { AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper; if (appCompatBackgroundHelper != null) { appCompatBackgroundHelper.setSupportBackgroundTintMode(mode); } } public void showPopup() { this.mPopup.show(getTextDirection(), getTextAlignment()); } }