OSDN Git Service

Restore password visibility on screen rotation in Hotspot/Wifi setup.
authorSanket Padawe <sanketpadawe@google.com>
Fri, 20 Mar 2015 17:07:50 +0000 (10:07 -0700)
committerSanket Padawe <sanketpadawe@google.com>
Fri, 20 Mar 2015 17:07:50 +0000 (10:07 -0700)
Bug: 16237425
Change-Id: I2bf0aaaa657d60f007858c6635d2a17326562c66

src/com/android/settings/wifi/WifiApDialog.java
src/com/android/settings/wifi/WifiConfigController.java
src/com/android/settings/wifi/WifiDialog.java

index eee3db9..3c4d912 100644 (file)
@@ -184,6 +184,15 @@ public class WifiApDialog extends AlertDialog implements View.OnClickListener,
         validate();
     }
 
+    public void onRestoreInstanceState(Bundle savedInstanceState) {
+        super.onRestoreInstanceState(savedInstanceState);
+        mPassword.setInputType(
+                InputType.TYPE_CLASS_TEXT |
+                (((CheckBox) mView.findViewById(R.id.show_password)).isChecked() ?
+                InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD :
+                InputType.TYPE_TEXT_VARIATION_PASSWORD));
+    }
+
     private void validate() {
         if ((mSsid != null && mSsid.length() == 0) ||
                    ((mSecurityTypeIndex == WPA2_INDEX)&&
index 5462d26..c0dbaa4 100644 (file)
@@ -999,14 +999,12 @@ public class WifiConfigController implements TextWatcher,
     /**
      * Make the characters of the password visible if show_password is checked.
      */
-    private void updatePasswordVisibility(boolean checked) {
-        int pos = mPasswordView.getSelectionEnd();
-        mPasswordView.setInputType(
-                InputType.TYPE_CLASS_TEXT | (checked ?
-                        InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD :
-                            InputType.TYPE_TEXT_VARIATION_PASSWORD));
-        if (pos >= 0) {
-            ((EditText)mPasswordView).setSelection(pos);
-        }
+    public void updatePassword() {
+        TextView passwdView = (TextView) mView.findViewById(R.id.password);
+        passwdView.setInputType(
+                InputType.TYPE_CLASS_TEXT |
+                (((CheckBox) mView.findViewById(R.id.show_password)).isChecked() ?
+                InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD :
+                InputType.TYPE_TEXT_VARIATION_PASSWORD));
     }
 }
index 942c5dd..ce554bc 100644 (file)
@@ -74,6 +74,11 @@ class WifiDialog extends AlertDialog implements WifiConfigUiBase {
         }
     }
 
+    public void onRestoreInstanceState(Bundle savedInstanceState) {
+            super.onRestoreInstanceState(savedInstanceState);
+            mController.updatePassword();
+    }
+
     @Override
     public boolean isEdit() {
         return mEdit;