From eb2e45369a92548e34b664d466d0578f966f7cef Mon Sep 17 00:00:00 2001 From: Greg Plesur Date: Wed, 2 Nov 2016 17:10:27 -0400 Subject: [PATCH] New Wear devices need to update their DISABLE_LOCKSCREEN_KEY. Previous versions of Wear forced this flag to "true." BUG: 32591969 Change-Id: I9619eee5df5f67e92818ef0b7b45ddd2299449f1 --- .../com/android/server/LockSettingsService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java index a91e2053c01d1..ae5ed6b8d7fd3 100644 --- a/services/core/java/com/android/server/LockSettingsService.java +++ b/services/core/java/com/android/server/LockSettingsService.java @@ -584,6 +584,20 @@ public class LockSettingsService extends ILockSettings.Stub { Slog.e(TAG, "Unable to remove tied profile key", e); } } + + boolean isWatch = mContext.getPackageManager().hasSystemFeature( + PackageManager.FEATURE_WATCH); + // Wear used to set DISABLE_LOCKSCREEN to 'true', but because Wear now allows accounts + // and device management the lockscreen must be re-enabled now for users that upgrade. + if (isWatch && getString("migrated_wear_lockscreen_disabled", null, 0) == null) { + final int userCount = users.size(); + for (int i = 0; i < userCount; i++) { + int id = users.get(i).id; + setBoolean(LockPatternUtils.DISABLE_LOCKSCREEN_KEY, false, id); + } + setString("migrated_wear_lockscreen_disabled", "true", 0); + Slog.i(TAG, "Migrated lockscreen_disabled for Wear devices"); + } } catch (RemoteException re) { Slog.e(TAG, "Unable to migrate old data", re); }