.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; .field private final modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; .field private final tempRect:Landroid/graphics/Rect; # direct methods .method public constructor (Landroid/content/Context;)V .locals 1 const/4 v0, 0x0 .line 65 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 .line 70 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 const/4 v0, 0x0 .line 75 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 62 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 77 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getContext()Landroid/content/Context; move-result-object p1 .line 79 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 80 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 89 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 p3 if-eqz p3, :cond_0 .line 90 sget p3, Lcom/google/android/material/R$styleable;->MaterialAutoCompleteTextView_android_inputType:I .line 91 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 94 invoke-virtual {p0, p3}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->setKeyListener(Landroid/text/method/KeyListener;)V :cond_0 const-string p3, "accessibility" .line 99 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 101 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 102 invoke-virtual {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->setModal(Z)V .line 103 invoke-virtual {p3, p0}, Landroidx/appcompat/widget/ListPopupWindow;->setAnchorView(Landroid/view/View;)V const/4 p1, 0x2 .line 104 invoke-virtual {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->setInputMethodMode(I)V .line 105 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter; move-result-object p1 invoke-virtual {p3, p1}, Landroidx/appcompat/widget/ListPopupWindow;->setAdapter(Landroid/widget/ListAdapter;)V .line 106 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;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V .line 130 invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V return-void .end method .method static synthetic access$000(Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;)Landroidx/appcompat/widget/ListPopupWindow; .locals 0 .line 56 iget-object p0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; return-object p0 .end method .method static synthetic access$100(Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;Ljava/lang/Object;)V .locals 0 .line 56 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 .line 241 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getParent()Landroid/view/ViewParent; move-result-object v0 :goto_0 if-eqz v0, :cond_1 .line 243 instance-of v1, v0, Lcom/google/android/material/textfield/TextInputLayout; if-eqz v1, :cond_0 .line 244 check-cast v0, Lcom/google/android/material/textfield/TextInputLayout; return-object v0 .line 246 :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 193 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter; move-result-object v0 .line 194 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 203 :cond_0 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getMeasuredWidth()I move-result v3 invoke-static {v3, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v3 .line 205 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getMeasuredHeight()I move-result v4 invoke-static {v4, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v4 .line 208 iget-object v5, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; invoke-virtual {v5}, Landroidx/appcompat/widget/ListPopupWindow;->getSelectedItemPosition()I move-result v5 invoke-static {v2, v5}, Ljava/lang/Math;->max(II)I move-result v5 .line 209 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 210 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 212 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 217 :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 218 invoke-virtual {v9}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v10 if-nez v10, :cond_2 .line 219 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 223 :cond_2 invoke-virtual {v9, v3, v4}, Landroid/view/View;->measure(II)V .line 224 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 227 :cond_3 iget-object v0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; invoke-virtual {v0}, Landroidx/appcompat/widget/ListPopupWindow;->getBackground()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_4 .line 229 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 230 iget-object v0, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->tempRect:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->left:I iget-object v2, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->tempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->right:I add-int/2addr v0, v2 add-int/2addr v6, v0 .line 233 :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}, Lcom/google/android/material/internal/CheckableImageButton;->getMeasuredWidth()I move-result v0 add-int/2addr v6, v0 return v6 :cond_5 :goto_1 return v2 .end method .method private updateText(Ljava/lang/Object;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")V" } .end annotation .line 253 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x11 if-lt v0, v1, :cond_0 .line 254 invoke-virtual {p0, p1}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->convertSelectionToString(Ljava/lang/Object;)Ljava/lang/CharSequence; move-result-object p1 const/4 v0, 0x0 invoke-virtual {p0, p1, v0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->setText(Ljava/lang/CharSequence;Z)V goto :goto_0 .line 256 :cond_0 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter; move-result-object v0 const/4 v1, 0x0 .line 257 invoke-virtual {p0, v1}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->setAdapter(Landroid/widget/ListAdapter;)V .line 258 invoke-virtual {p0, p1}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->convertSelectionToString(Ljava/lang/Object;)Ljava/lang/CharSequence; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->setText(Ljava/lang/CharSequence;)V .line 259 invoke-virtual {p0, v0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->setAdapter(Landroid/widget/ListAdapter;)V :goto_0 return-void .end method # virtual methods .method public getHint()Ljava/lang/CharSequence; .locals 2 .line 169 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 170 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->isProvidingHint()Z move-result v1 if-eqz v1, :cond_0 .line 171 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->getHint()Ljava/lang/CharSequence; move-result-object v0 return-object v0 .line 173 :cond_0 invoke-super {p0}, Landroidx/appcompat/widget/AppCompatAutoCompleteTextView;->getHint()Ljava/lang/CharSequence; move-result-object v0 return-object v0 .end method .method protected onAttachedToWindow()V .locals 1 .line 150 invoke-super {p0}, Landroidx/appcompat/widget/AppCompatAutoCompleteTextView;->onAttachedToWindow()V .line 155 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 157 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->isProvidingHint()Z move-result v0 if-eqz v0, :cond_0 .line 158 invoke-super {p0}, Landroidx/appcompat/widget/AppCompatAutoCompleteTextView;->getHint()Ljava/lang/CharSequence; move-result-object v0 if-nez v0, :cond_0 .line 159 invoke-static {}, Lcom/google/android/material/internal/ManufacturerUtils;->isMeizuDevice()Z move-result v0 if-eqz v0, :cond_0 const-string v0, "" .line 160 invoke-virtual {p0, v0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->setHint(Ljava/lang/CharSequence;)V :cond_0 return-void .end method .method protected onMeasure(II)V .locals 1 .line 178 invoke-super {p0, p1, p2}, Landroidx/appcompat/widget/AppCompatAutoCompleteTextView;->onMeasure(II)V .line 182 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result p2 const/high16 v0, -0x80000000 if-ne p2, v0, :cond_0 .line 183 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getMeasuredWidth()I move-result p2 .line 186 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 187 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result p1 .line 185 invoke-static {p2, p1}, Ljava/lang/Math;->min(II)I move-result p1 .line 188 invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getMeasuredHeight()I move-result p2 .line 184 invoke-virtual {p0, p1, p2}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->setMeasuredDimension(II)V :cond_0 return-void .end method .method public setAdapter(Landroid/widget/ListAdapter;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TT;)V" } .end annotation .line 144 invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatAutoCompleteTextView;->setAdapter(Landroid/widget/ListAdapter;)V .line 145 iget-object p1, p0, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->modalListPopup:Landroidx/appcompat/widget/ListPopupWindow; invoke-virtual {p0}, Lcom/google/android/material/textfield/MaterialAutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter; move-result-object v0 invoke-virtual {p1, v0}, Landroidx/appcompat/widget/ListPopupWindow;->setAdapter(Landroid/widget/ListAdapter;)V return-void .end method .method public showDropDown()V .locals 1 .line 135 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 136 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 138 :cond_0 invoke-super {p0}, Landroidx/appcompat/widget/AppCompatAutoCompleteTextView;->showDropDown()V :goto_0 return-void .end method