58 lines
2.0 KiB
Java
58 lines
2.0 KiB
Java
package com.google.android.material.textfield;
|
|
|
|
import android.content.Context;
|
|
import android.util.AttributeSet;
|
|
import android.view.View;
|
|
import android.view.ViewParent;
|
|
import android.view.inputmethod.EditorInfo;
|
|
import android.view.inputmethod.InputConnection;
|
|
import androidx.appcompat.widget.AppCompatEditText;
|
|
import com.google.android.material.R$attr;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class TextInputEditText extends AppCompatEditText {
|
|
public TextInputEditText(Context context) {
|
|
this(context, null);
|
|
}
|
|
|
|
private CharSequence getHintFromLayout() {
|
|
TextInputLayout textInputLayout = getTextInputLayout();
|
|
if (textInputLayout != null) {
|
|
return textInputLayout.getHint();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private TextInputLayout getTextInputLayout() {
|
|
for (ViewParent parent = getParent(); parent instanceof View; parent = parent.getParent()) {
|
|
if (parent instanceof TextInputLayout) {
|
|
return (TextInputLayout) parent;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override // android.widget.TextView
|
|
public CharSequence getHint() {
|
|
TextInputLayout textInputLayout = getTextInputLayout();
|
|
return (textInputLayout == null || !textInputLayout.b()) ? super.getHint() : textInputLayout.getHint();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.AppCompatEditText, android.widget.TextView, android.view.View
|
|
public InputConnection onCreateInputConnection(EditorInfo editorInfo) {
|
|
InputConnection onCreateInputConnection = super.onCreateInputConnection(editorInfo);
|
|
if (onCreateInputConnection != null && editorInfo.hintText == null) {
|
|
editorInfo.hintText = getHintFromLayout();
|
|
}
|
|
return onCreateInputConnection;
|
|
}
|
|
|
|
public TextInputEditText(Context context, AttributeSet attributeSet) {
|
|
this(context, attributeSet, R$attr.editTextStyle);
|
|
}
|
|
|
|
public TextInputEditText(Context context, AttributeSet attributeSet, int i) {
|
|
super(context, attributeSet, i);
|
|
}
|
|
}
|