From 324d75ea2feb0d3e82220c33b9e521dc61aaf12d Mon Sep 17 00:00:00 2001 From: Erin Yan Date: Thu, 16 May 2019 17:22:21 -0700 Subject: [PATCH] Set the strong auth requirement based on flags when the user is stopped Make the strong auth not required in user switching as the default flag for IHU booting is false Bug: 131699594 Test: Manually on IHU Change-Id: I1c8ce80f5e2317090482102174ca5095ca408039 --- .../server/locksettings/LockSettingsService.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index 1b705bb7c4be9..b2712047f9b3a 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -27,7 +27,6 @@ import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTE import static com.android.internal.widget.LockPatternUtils.EscrowTokenStateChangeCallback; import static com.android.internal.widget.LockPatternUtils.SYNTHETIC_PASSWORD_ENABLED_KEY; import static com.android.internal.widget.LockPatternUtils.SYNTHETIC_PASSWORD_HANDLE_KEY; -import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_BOOT; import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT; import static com.android.internal.widget.LockPatternUtils.USER_FRP; import static com.android.internal.widget.LockPatternUtils.frpCredentialEnabled; @@ -553,10 +552,11 @@ public class LockSettingsService extends ILockSettings.Stub { public void onCleanupUser(int userId) { hideEncryptionNotification(new UserHandle(userId)); - // User is stopped with its CE key evicted. Require strong auth next time to be able to - // unlock the user's storage. Use STRONG_AUTH_REQUIRED_AFTER_BOOT since stopping and - // restarting a user later is equivalent to rebooting the device. - requireStrongAuth(STRONG_AUTH_REQUIRED_AFTER_BOOT, userId); + // User is stopped with its CE key evicted. Restore strong auth requirement to the default + // flags after boot since stopping and restarting a user later is equivalent to rebooting + // the device. + int strongAuthRequired = LockPatternUtils.StrongAuthTracker.getDefaultFlags(mContext); + requireStrongAuth(strongAuthRequired, userId); } public void onStartUser(final int userId) {