[RESTRICT AUTOMERGE] Make Lock task default consistent w/ Settings (oc-mr1-dev).

Bug: 127605586
Test: Manual
Change-Id: I40c9a29935d9e5a27cdcdf90187efe61035448fd
This commit is contained in:
Jonathan Scott
2019-05-09 11:52:47 +01:00
parent ca23d007b4
commit cd6c636800

View File

@@ -4596,19 +4596,11 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
mLockTaskNotify = new LockTaskNotify(mService.mContext);
}
mLockTaskNotify.show(false);
try {
boolean shouldLockKeyguard = Settings.Secure.getIntForUser(
mService.mContext.getContentResolver(),
Settings.Secure.LOCK_TO_APP_EXIT_LOCKED,
UserHandle.USER_CURRENT) != 0;
if (mLockTaskModeState == LOCK_TASK_MODE_PINNED && shouldLockKeyguard) {
mWindowManager.lockNow(null);
mWindowManager.dismissKeyguard(null /* callback */);
new LockPatternUtils(mService.mContext)
.requireCredentialEntry(UserHandle.USER_ALL);
}
} catch (SettingNotFoundException e) {
// No setting, don't lock.
if (mLockTaskModeState == LOCK_TASK_MODE_PINNED && shouldLockKeyguard()) {
mWindowManager.lockNow(null);
mWindowManager.dismissKeyguard(null /* callback */);
new LockPatternUtils(mService.mContext)
.requireCredentialEntry(UserHandle.USER_ALL);
}
} catch (RemoteException ex) {
throw new RuntimeException(ex);
@@ -4635,6 +4627,22 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
}
}
private boolean shouldLockKeyguard() {
// This functionality should be kept consistent with
// com.android.settings.security.ScreenPinningSettings (see b/127605586)
try {
return Settings.Secure.getIntForUser(
mService.mContext.getContentResolver(),
Settings.Secure.LOCK_TO_APP_EXIT_LOCKED,
UserHandle.USER_CURRENT) != 0;
} catch (Settings.SettingNotFoundException e) {
// Log to SafetyNet for b/127605586
android.util.EventLog.writeEvent(0x534e4554, "127605586", -1, "");
LockPatternUtils lockPatternUtils = new LockPatternUtils(mService.mContext);
return lockPatternUtils.isSecure(mCurrentUser);
}
}
// TODO: Move to its own file.
/** Exactly one of these classes per Display in the system. Capable of holding zero or more
* attached {@link ActivityStack}s */