OSDN Git Service

Save PatternVisible setting to crypto header
authorPaul Lawrence <paullawrence@google.com>
Wed, 20 Aug 2014 20:08:01 +0000 (13:08 -0700)
committerPaul Lawrence <paullawrence@google.com>
Wed, 20 Aug 2014 20:08:01 +0000 (13:08 -0700)
Bug: 17059314
Change-Id: Ic64c64567f70ea11030cabfd33b57f77fb23dac7

core/java/com/android/internal/widget/LockPatternUtils.java

index ece3e9d..74b1fdd 100644 (file)
@@ -1093,6 +1093,25 @@ public class LockPatternUtils {
      */
     public void setVisiblePatternEnabled(boolean enabled) {
         setBoolean(Settings.Secure.LOCK_PATTERN_VISIBLE, enabled);
+
+        // Update for crypto if owner
+        int userId = getCurrentOrCallingUserId();
+        if (userId != UserHandle.USER_OWNER) {
+            return;
+        }
+
+        IBinder service = ServiceManager.getService("mount");
+        if (service == null) {
+            Log.e(TAG, "Could not find the mount service to update the user info");
+            return;
+        }
+
+        IMountService mountService = IMountService.Stub.asInterface(service);
+        try {
+            mountService.setField("PatternVisible", enabled ? "1" : "0");
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error changing pattern visible state", e);
+        }
     }
 
     /**