diff --git a/src/com/android/settings/widget/ValidatedEditTextPreference.java b/src/com/android/settings/widget/ValidatedEditTextPreference.java index a5bab1cd980..707da000f14 100644 --- a/src/com/android/settings/widget/ValidatedEditTextPreference.java +++ b/src/com/android/settings/widget/ValidatedEditTextPreference.java @@ -74,7 +74,7 @@ public class ValidatedEditTextPreference extends CustomEditTextPreference { editText.removeTextChangedListener(mTextWatcher); if (mIsPassword) { editText.setInputType( - InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); editText.setMaxLines(1); } editText.addTextChangedListener(mTextWatcher); diff --git a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java index b38558c1aeb..5ba0583b6ab 100644 --- a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java +++ b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java @@ -55,6 +55,7 @@ public class WifiTetherPasswordPreferenceController extends WifiTetherBasePrefer mPassword = generateRandomPassword(); } ((ValidatedEditTextPreference) mPreference).setValidator(this); + ((ValidatedEditTextPreference) mPreference).setIsPassword(true); ((ValidatedEditTextPreference) mPreference).setIsSummaryPassword(true); updatePasswordDisplay((EditTextPreference) mPreference); } diff --git a/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java index 5ba9f8abe58..865422c9354 100644 --- a/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/ValidatedEditTextPreferenceTest.java @@ -116,7 +116,7 @@ public class ValidatedEditTextPreferenceTest { mPreference.onBindDialogView(mView); assertThat(editText.getInputType() - & (InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT)) + & (InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | InputType.TYPE_CLASS_TEXT)) .isNotEqualTo(0); } diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java index 60faa2e0702..7e757ad5f84 100644 --- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java @@ -145,4 +145,21 @@ public class WifiTetherPasswordPreferenceControllerTest { assertThat(mController.getSecuritySettingForPassword()) .isEqualTo(WifiConfiguration.KeyMgmt.WPA2_PSK); } + + @Test + public void updateDisplay_shouldSetInputType() { + // Set controller password to anything and verify is set. + mController.displayPreference(mScreen); + mController.onPreferenceChange(mPreference, "1"); + assertThat(mController.getPassword()).isEqualTo("1"); + + // Create a new config using different password + final WifiConfiguration config = new WifiConfiguration(); + config.preSharedKey = "test_1234"; + when(mWifiManager.getWifiApConfiguration()).thenReturn(config); + + // Call updateDisplay and verify it's changed. + mController.updateDisplay(); + assertThat(mPreference.isPassword()).isTrue(); + } }