.class public Lcom/google/android/material/textfield/MaterialAutoCompleteTextView; .super Landroidx/appcompat/widget/AppCompatAutoCompleteTextView; .source "MaterialAutoCompleteTextView.java" # static fields .field private static final MAX_ITEMS_MEASURED:I = 0xf # instance fields .field private final accessibilityManager:Landroid/view/accessibility/AccessibilityManager; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private final modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private final tempRect:Landroid/graphics/Rect; .annotation build Landroidx/annotation/NonNull; .end annotation .end field # direct methods .method public constructor (Landroid/content/Context;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const/4 v0, 0x0 .line 1 invoke-direct {p0, p1, v0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 2 sget v0, Lcom/google/android/material/R$attr;->autoCompleteTextViewStyle:I invoke-direct {p0, p1, p2, v0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 7 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const/4 v0, 0x0 .line 3 invoke-static {p1, p2, p3, v0}, Lcom/google/android/material/theme/overlay/MaterialThemeOverlay;->wrap(Landroid/content/Context;Landroid/util/AttributeSet;II)Landroid/content/Context; move-result-object p1 invoke-direct {p0, p1, p2, p3}, Landroidx/appcompat/widget/AppCompatAutoCompleteTextView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 4 new-instance p1, Landroid/graphics/Rect; invoke-direct {p1}, Landroid/graphics/Rect;->()V iput-object p1, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->tempRect:Landroid/graphics/Rect; .line 5 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getContext()Landroid/content/Context; move-result-object p1 .line 6 sget-object v3, Lcom/google/android/material/R$styleable;->MaterialAutoCompleteTextView:[I sget v5, Lcom/google/android/material/R$style;->Widget_AppCompat_AutoCompleteTextView:I new-array v6, v0, [I move-object v1, p1 move-object v2, p2 move v4, p3 .line 7 invoke-static/range {v1 .. v6}, Lcom/google/android/material/internal/ThemeEnforcement;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III[I)Landroid/content/res/TypedArray; move-result-object p2 .line 8 sget p3, Lcom/google/android/material/R$styleable;->MaterialAutoCompleteTextView_android_inputType:I invoke-virtual {p2, p3}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result v1 if-eqz v1, :cond_0 .line 9 invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getInt(II)I move-result p3 if-nez p3, :cond_0 const/4 p3, 0x0 .line 10 invoke-virtual {p0, p3}, Landroid/widget/AutoCompleteTextView;->setKeyListener(Landroid/text/method/KeyListener;)V :cond_0 const-string p3, "accessibility" .line 11 invoke-virtual {p1, p3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p3 check-cast p3, Landroid/view/accessibility/AccessibilityManager; iput-object p3, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->accessibilityManager:Landroid/view/accessibility/AccessibilityManager; .line 12 new-instance p3, Landroidx/appcompat/widget/ListPopupWindow; invoke-direct {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->(Landroid/content/Context;)V iput-object p3, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; const/4 p1, 0x1 .line 13 invoke-virtual {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->b0(Z)V .line 14 invoke-virtual {p3, p0}, Landroidx/appcompat/widget/ListPopupWindow;->Q(Landroid/view/View;)V const/4 p1, 0x2 .line 15 invoke-virtual {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->Y(I)V .line 16 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter; move-result-object p1 invoke-virtual {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->n(Landroid/widget/ListAdapter;)V .line 17 new-instance p1, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView$1; invoke-direct {p1, p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView$1;->(Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;)V invoke-virtual {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->d0(Landroid/widget/AdapterView$OnItemClickListener;)V .line 18 invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V return-void .end method .method public static synthetic access$000(Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;)Landroidx/appcompat/widget/ListPopupWindow; .locals 0 .line 1 iget-object p0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; return-object p0 .end method .method public static synthetic access$100(Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;Ljava/lang/Object;)V .locals 0 .line 1 invoke-direct {p0, p1}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->updateText(Ljava/lang/Object;)V return-void .end method .method private findTextInputLayoutAncestor()Lcom/google/android/material/textfield/TextInputLayout; .locals 2 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getParent()Landroid/view/ViewParent; move-result-object v0 :goto_0 if-eqz v0, :cond_1 .line 2 instance-of v1, v0, Lcom/google/android/material/textfield/TextInputLayout; if-eqz v1, :cond_0 .line 3 check-cast v0, Lcom/google/android/material/textfield/TextInputLayout; return-object v0 .line 4 :cond_0 invoke-interface {v0}, Landroid/view/ViewParent;->getParent()Landroid/view/ViewParent; move-result-object v0 goto :goto_0 :cond_1 const/4 v0, 0x0 return-object v0 .end method .method private measureContentWidth()I .locals 12 .line 1 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter; move-result-object v0 .line 2 invoke-direct {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->findTextInputLayoutAncestor()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v1 const/4 v2, 0x0 if-eqz v0, :cond_5 if-nez v1, :cond_0 goto/16 :goto_1 .line 3 :cond_0 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getMeasuredWidth()I move-result v3 invoke-static {v3, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v3 .line 4 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getMeasuredHeight()I move-result v4 invoke-static {v4, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v4 .line 5 iget-object v5, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; invoke-virtual {v5}, Landroidx/appcompat/widget/ListPopupWindow;->C()I move-result v5 invoke-static {v2, v5}, Ljava/lang/Math;->max(II)I move-result v5 .line 6 invoke-interface {v0}, Landroid/widget/ListAdapter;->getCount()I move-result v6 add-int/lit8 v5, v5, 0xf invoke-static {v6, v5}, Ljava/lang/Math;->min(II)I move-result v5 add-int/lit8 v6, v5, -0xf .line 7 invoke-static {v2, v6}, Ljava/lang/Math;->max(II)I move-result v6 const/4 v7, 0x0 move v8, v6 move-object v9, v7 move v6, v2 :goto_0 if-ge v8, v5, :cond_3 .line 8 invoke-interface {v0, v8}, Landroid/widget/ListAdapter;->getItemViewType(I)I move-result v10 if-eq v10, v2, :cond_1 move-object v9, v7 move v2, v10 .line 9 :cond_1 invoke-interface {v0, v8, v9, v1}, Landroid/widget/ListAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View; move-result-object v9 .line 10 invoke-virtual {v9}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v10 if-nez v10, :cond_2 .line 11 new-instance v10, Landroid/view/ViewGroup$LayoutParams; const/4 v11, -0x2 invoke-direct {v10, v11, v11}, Landroid/view/ViewGroup$LayoutParams;->(II)V invoke-virtual {v9, v10}, Landroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V .line 12 :cond_2 invoke-virtual {v9, v3, v4}, Landroid/view/View;->measure(II)V .line 13 invoke-virtual {v9}, Landroid/view/View;->getMeasuredWidth()I move-result v10 invoke-static {v6, v10}, Ljava/lang/Math;->max(II)I move-result v6 add-int/lit8 v8, v8, 0x1 goto :goto_0 .line 14 :cond_3 iget-object v0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; invoke-virtual {v0}, Landroidx/appcompat/widget/ListPopupWindow;->g()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_4 .line 15 iget-object v2, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->tempRect:Landroid/graphics/Rect; invoke-virtual {v0, v2}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 16 iget-object v0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->tempRect:Landroid/graphics/Rect; iget v2, v0, Landroid/graphics/Rect;->left:I iget v0, v0, Landroid/graphics/Rect;->right:I add-int/2addr v2, v0 add-int/2addr v6, v2 .line 17 :cond_4 invoke-virtual {v1}, Lcom/google/android/material/textfield/TextInputLayout;->getEndIconView()Lcom/google/android/material/internal/CheckableImageButton; move-result-object v0 invoke-virtual {v0}, Landroid/widget/ImageButton;->getMeasuredWidth()I move-result v0 add-int/2addr v0, v6 return v0 :cond_5 :goto_1 return v2 .end method .method private updateText(Ljava/lang/Object;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")V" } .end annotation .line 1 invoke-virtual {p0, p1}, Landroid/widget/AutoCompleteTextView;->convertSelectionToString(Ljava/lang/Object;)Ljava/lang/CharSequence; move-result-object p1 const/4 v0, 0x0 invoke-virtual {p0, p1, v0}, Landroid/widget/AutoCompleteTextView;->setText(Ljava/lang/CharSequence;Z)V return-void .end method # virtual methods .method public getHint()Ljava/lang/CharSequence; .locals 2 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 invoke-direct {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->findTextInputLayoutAncestor()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 if-eqz v0, :cond_0 .line 2 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->isProvidingHint()Z move-result v1 if-eqz v1, :cond_0 .line 3 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->getHint()Ljava/lang/CharSequence; move-result-object v0 return-object v0 .line 4 :cond_0 invoke-super {p0}, Landroid/widget/AutoCompleteTextView;->getHint()Ljava/lang/CharSequence; move-result-object v0 return-object v0 .end method .method public onAttachedToWindow()V .locals 1 .line 1 invoke-super {p0}, Landroid/widget/AutoCompleteTextView;->onAttachedToWindow()V .line 2 invoke-direct {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->findTextInputLayoutAncestor()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 if-eqz v0, :cond_0 .line 3 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->isProvidingHint()Z move-result v0 if-eqz v0, :cond_0 .line 4 invoke-super {p0}, Landroid/widget/AutoCompleteTextView;->getHint()Ljava/lang/CharSequence; move-result-object v0 if-nez v0, :cond_0 .line 5 invoke-static {}, Lcom/google/android/material/internal/ManufacturerUtils;->isMeizuDevice()Z move-result v0 if-eqz v0, :cond_0 const-string v0, "" .line 6 invoke-virtual {p0, v0}, Landroid/widget/AutoCompleteTextView;->setHint(Ljava/lang/CharSequence;)V :cond_0 return-void .end method .method public onMeasure(II)V .locals 1 .line 1 invoke-super {p0, p1, p2}, Landroid/widget/AutoCompleteTextView;->onMeasure(II)V .line 2 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result p2 const/high16 v0, -0x80000000 if-ne p2, v0, :cond_0 .line 3 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getMeasuredWidth()I move-result p2 .line 4 invoke-direct {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->measureContentWidth()I move-result v0 invoke-static {p2, v0}, Ljava/lang/Math;->max(II)I move-result p2 .line 5 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result p1 .line 6 invoke-static {p2, p1}, Ljava/lang/Math;->min(II)I move-result p1 .line 7 invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getMeasuredHeight()I move-result p2 .line 8 invoke-virtual {p0, p1, p2}, Landroid/widget/AutoCompleteTextView;->setMeasuredDimension(II)V :cond_0 return-void .end method .method public setAdapter(Landroid/widget/ListAdapter;)V .locals 1 .param p1 # Landroid/widget/ListAdapter; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TT;)V" } .end annotation .line 1 invoke-super {p0, p1}, Landroid/widget/AutoCompleteTextView;->setAdapter(Landroid/widget/ListAdapter;)V .line 2 iget-object p1, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; invoke-virtual {p0}, Landroid/widget/AutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter; move-result-object v0 invoke-virtual {p1, v0}, Landroidx/appcompat/widget/ListPopupWindow;->n(Landroid/widget/ListAdapter;)V return-void .end method .method public showDropDown()V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->accessibilityManager:Landroid/view/accessibility/AccessibilityManager; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isTouchExplorationEnabled()Z move-result v0 if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; invoke-virtual {v0}, Landroidx/appcompat/widget/ListPopupWindow;->show()V goto :goto_0 .line 3 :cond_0 invoke-super {p0}, Landroid/widget/AutoCompleteTextView;->showDropDown()V :goto_0 return-void .end method