Fix focus behavior of ValidatedEditTextPreference
The bug report was that the cursor is set to the beginning of the EditText for wifi hotspot password field, instead of at the end (or having the entire field selected). This fix makes it so that all ValidatedEditTextPreference's will put the cursor at the end of the EditText. Bug: 65413206 Test: make RunSettingsRoboTests Change-Id: I23f3bb1b3f1b49b2f193c0ae2e103eae5c1a1019
This commit is contained in:
@@ -21,8 +21,10 @@ import android.content.Context;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.text.Editable;
|
||||
import android.text.InputType;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
@@ -61,17 +63,18 @@ public class ValidatedEditTextPreference extends CustomEditTextPreference {
|
||||
@Override
|
||||
protected void onBindDialogView(View view) {
|
||||
super.onBindDialogView(view);
|
||||
if (mValidator != null) {
|
||||
final EditText editText = view.findViewById(android.R.id.edit);
|
||||
if (editText != null) {
|
||||
editText.removeTextChangedListener(mTextWatcher);
|
||||
if (mIsPassword) {
|
||||
editText.setInputType(
|
||||
InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||
editText.setMaxLines(1);
|
||||
}
|
||||
editText.addTextChangedListener(mTextWatcher);
|
||||
final EditText editText = view.findViewById(android.R.id.edit);
|
||||
if (editText != null && !TextUtils.isEmpty(editText.getText())) {
|
||||
editText.setSelection(editText.getText().length());
|
||||
}
|
||||
if (mValidator != null && editText != null) {
|
||||
editText.removeTextChangedListener(mTextWatcher);
|
||||
if (mIsPassword) {
|
||||
editText.setInputType(
|
||||
InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||
editText.setMaxLines(1);
|
||||
}
|
||||
editText.addTextChangedListener(mTextWatcher);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user