From 878ba0a266246f29e8145612a2a58e5e997b018c Mon Sep 17 00:00:00 2001 From: Paul Lawrence Date: Wed, 20 Aug 2014 13:08:01 -0700 Subject: [PATCH] Save PatternVisible setting to crypto header Bug: 17059314 Change-Id: Ic64c64567f70ea11030cabfd33b57f77fb23dac7 --- .../internal/widget/LockPatternUtils.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index ece3e9d5e503b..74b1fddf9defd 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -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); + } } /**