.class public Lcom/google/android/material/textfield/TextInputEditText; .super Landroidx/appcompat/widget/AppCompatEditText; .source "TextInputEditText.java" # instance fields .field private final parentRect:Landroid/graphics/Rect; .field private textInputLayoutFocusedRectEnabled:Z # direct methods .method public constructor (Landroid/content/Context;)V .locals 1 const/4 v0, 0x0 .line 55 invoke-direct {p0, p1, v0}, Lcom/google/android/material/textfield/TextInputEditText;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .line 59 sget v0, Lcom/google/android/material/R$attr;->editTextStyle:I invoke-direct {p0, p1, p2, v0}, Lcom/google/android/material/textfield/TextInputEditText;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 8 const/4 v0, 0x0 .line 64 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 v1 invoke-direct {p0, v1, p2, p3}, Landroidx/appcompat/widget/AppCompatEditText;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 51 new-instance v1, Landroid/graphics/Rect; invoke-direct {v1}, Landroid/graphics/Rect;->()V iput-object v1, p0, Lcom/google/android/material/textfield/TextInputEditText;->parentRect:Landroid/graphics/Rect; .line 65 sget-object v4, Lcom/google/android/material/R$styleable;->TextInputEditText:[I sget v6, Lcom/google/android/material/R$style;->Widget_Design_TextInputEditText:I new-array v7, v0, [I move-object v2, p1 move-object v3, p2 move v5, p3 .line 66 invoke-static/range {v2 .. v7}, Lcom/google/android/material/internal/ThemeEnforcement;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III[I)Landroid/content/res/TypedArray; move-result-object p1 .line 73 sget p2, Lcom/google/android/material/R$styleable;->TextInputEditText_textInputLayoutFocusedRectEnabled:I .line 74 invoke-virtual {p1, p2, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result p2 .line 73 invoke-virtual {p0, p2}, Lcom/google/android/material/textfield/TextInputEditText;->setTextInputLayoutFocusedRectEnabled(Z)V .line 76 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V return-void .end method .method private getAccessibilityNodeInfoText(Lcom/google/android/material/textfield/TextInputLayout;)Ljava/lang/String; .locals 5 .line 206 invoke-virtual {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getText()Landroid/text/Editable; move-result-object v0 .line 207 invoke-virtual {p1}, Lcom/google/android/material/textfield/TextInputLayout;->getHint()Ljava/lang/CharSequence; move-result-object p1 .line 208 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 xor-int/lit8 v1, v1, 0x1 .line 209 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 xor-int/lit8 v2, v2, 0x1 .line 211 sget v3, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v4, 0x11 if-lt v3, v4, :cond_0 .line 212 sget v3, Lcom/google/android/material/R$id;->textinput_helper_text:I invoke-virtual {p0, v3}, Lcom/google/android/material/textfield/TextInputEditText;->setLabelFor(I)V :cond_0 const-string v3, "" if-eqz v2, :cond_1 .line 215 invoke-interface {p1}, Ljava/lang/CharSequence;->toString()Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_1 move-object p1, v3 :goto_0 if-eqz v1, :cond_3 .line 218 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_2 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, ", " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 :cond_2 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .line 219 :cond_3 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_4 return-object p1 :cond_4 return-object v3 .end method .method private getHintFromLayout()Ljava/lang/CharSequence; .locals 1 .line 133 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 if-eqz v0, :cond_0 .line 134 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->getHint()Ljava/lang/CharSequence; move-result-object v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return-object v0 .end method .method private getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; .locals 2 .line 121 invoke-virtual {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getParent()Landroid/view/ViewParent; move-result-object v0 .line 122 :goto_0 instance-of v1, v0, Landroid/view/View; if-eqz v1, :cond_1 .line 123 instance-of v1, v0, Lcom/google/android/material/textfield/TextInputLayout; if-eqz v1, :cond_0 .line 124 check-cast v0, Lcom/google/android/material/textfield/TextInputLayout; return-object v0 .line 126 :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 # virtual methods .method public getFocusedRect(Landroid/graphics/Rect;)V .locals 2 .line 153 invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatEditText;->getFocusedRect(Landroid/graphics/Rect;)V .line 154 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 if-eqz v0, :cond_0 .line 155 iget-boolean v1, p0, Lcom/google/android/material/textfield/TextInputEditText;->textInputLayoutFocusedRectEnabled:Z if-eqz v1, :cond_0 if-eqz p1, :cond_0 .line 158 iget-object v1, p0, Lcom/google/android/material/textfield/TextInputEditText;->parentRect:Landroid/graphics/Rect; invoke-virtual {v0, v1}, Lcom/google/android/material/textfield/TextInputLayout;->getFocusedRect(Landroid/graphics/Rect;)V .line 159 iget-object v0, p0, Lcom/google/android/material/textfield/TextInputEditText;->parentRect:Landroid/graphics/Rect; iget v0, v0, Landroid/graphics/Rect;->bottom:I iput v0, p1, Landroid/graphics/Rect;->bottom:I :cond_0 return-void .end method .method public getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z .locals 3 .line 165 invoke-super {p0, p1, p2}, Landroidx/appcompat/widget/AppCompatEditText;->getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z move-result v0 .line 166 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v1 if-eqz v1, :cond_0 .line 167 iget-boolean v2, p0, Lcom/google/android/material/textfield/TextInputEditText;->textInputLayoutFocusedRectEnabled:Z if-eqz v2, :cond_0 if-eqz p1, :cond_0 .line 170 iget-object v2, p0, Lcom/google/android/material/textfield/TextInputEditText;->parentRect:Landroid/graphics/Rect; invoke-virtual {v1, v2, p2}, Lcom/google/android/material/textfield/TextInputLayout;->getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z .line 171 iget-object p2, p0, Lcom/google/android/material/textfield/TextInputEditText;->parentRect:Landroid/graphics/Rect; iget p2, p2, Landroid/graphics/Rect;->bottom:I iput p2, p1, Landroid/graphics/Rect;->bottom:I :cond_0 return v0 .end method .method public getHint()Ljava/lang/CharSequence; .locals 2 .line 100 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 if-eqz v0, :cond_0 .line 101 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->isProvidingHint()Z move-result v1 if-eqz v1, :cond_0 .line 102 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->getHint()Ljava/lang/CharSequence; move-result-object v0 return-object v0 .line 104 :cond_0 invoke-super {p0}, Landroidx/appcompat/widget/AppCompatEditText;->getHint()Ljava/lang/CharSequence; move-result-object v0 return-object v0 .end method .method public isTextInputLayoutFocusedRectEnabled()Z .locals 1 .line 148 iget-boolean v0, p0, Lcom/google/android/material/textfield/TextInputEditText;->textInputLayoutFocusedRectEnabled:Z return v0 .end method .method protected onAttachedToWindow()V .locals 1 .line 81 invoke-super {p0}, Landroidx/appcompat/widget/AppCompatEditText;->onAttachedToWindow()V .line 86 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 if-eqz v0, :cond_0 .line 88 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->isProvidingHint()Z move-result v0 if-eqz v0, :cond_0 .line 89 invoke-super {p0}, Landroidx/appcompat/widget/AppCompatEditText;->getHint()Ljava/lang/CharSequence; move-result-object v0 if-nez v0, :cond_0 .line 90 invoke-static {}, Lcom/google/android/material/internal/ManufacturerUtils;->isMeizuDevice()Z move-result v0 if-eqz v0, :cond_0 const-string v0, "" .line 91 invoke-virtual {p0, v0}, Lcom/google/android/material/textfield/TextInputEditText;->setHint(Ljava/lang/CharSequence;)V :cond_0 return-void .end method .method public onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; .locals 2 .line 110 invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatEditText;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; move-result-object v0 if-eqz v0, :cond_0 .line 111 iget-object v1, p1, Landroid/view/inputmethod/EditorInfo;->hintText:Ljava/lang/CharSequence; if-nez v1, :cond_0 .line 114 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getHintFromLayout()Ljava/lang/CharSequence; move-result-object v1 iput-object v1, p1, Landroid/view/inputmethod/EditorInfo;->hintText:Ljava/lang/CharSequence; :cond_0 return-object v0 .end method .method public onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V .locals 3 .line 194 invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatEditText;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V .line 195 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 .line 199 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v2, 0x17 if-ge v1, v2, :cond_0 if-eqz v0, :cond_0 .line 200 invoke-direct {p0, v0}, Lcom/google/android/material/textfield/TextInputEditText;->getAccessibilityNodeInfoText(Lcom/google/android/material/textfield/TextInputLayout;)Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityNodeInfo;->setText(Ljava/lang/CharSequence;)V :cond_0 return-void .end method .method public requestRectangleOnScreen(Landroid/graphics/Rect;)Z .locals 6 .line 178 invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatEditText;->requestRectangleOnScreen(Landroid/graphics/Rect;)Z move-result p1 .line 179 invoke-direct {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getTextInputLayout()Lcom/google/android/material/textfield/TextInputLayout; move-result-object v0 if-eqz v0, :cond_0 .line 180 iget-boolean v1, p0, Lcom/google/android/material/textfield/TextInputEditText;->textInputLayoutFocusedRectEnabled:Z if-eqz v1, :cond_0 .line 181 iget-object v1, p0, Lcom/google/android/material/textfield/TextInputEditText;->parentRect:Landroid/graphics/Rect; const/4 v2, 0x0 .line 183 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->getHeight()I move-result v3 .line 184 invoke-virtual {p0}, Lcom/google/android/material/textfield/TextInputEditText;->getResources()Landroid/content/res/Resources; move-result-object v4 sget v5, Lcom/google/android/material/R$dimen;->mtrl_edittext_rectangle_top_offset:I invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I move-result v4 sub-int/2addr v3, v4 .line 185 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->getWidth()I move-result v4 .line 186 invoke-virtual {v0}, Lcom/google/android/material/textfield/TextInputLayout;->getHeight()I move-result v5 .line 181 invoke-virtual {v1, v2, v3, v4, v5}, Landroid/graphics/Rect;->set(IIII)V .line 187 iget-object v1, p0, Lcom/google/android/material/textfield/TextInputEditText;->parentRect:Landroid/graphics/Rect; const/4 v2, 0x1 invoke-virtual {v0, v1, v2}, Lcom/google/android/material/textfield/TextInputLayout;->requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z :cond_0 return p1 .end method .method public setTextInputLayoutFocusedRectEnabled(Z)V .locals 0 .line 141 iput-boolean p1, p0, Lcom/google/android/material/textfield/TextInputEditText;->textInputLayoutFocusedRectEnabled:Z return-void .end method