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
This commit is contained in:
Erin Yan
2019-05-16 17:22:21 -07:00
parent 34d1b5f4f0
commit 324d75ea2f

View File

@@ -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) {