Use userId instead of USER_CURRENT in shouldLockKeyguard.
USER_CURRENT is not an acceptable input to isSecure(). The test has also been updated as the use of any() for the mock hid this bug. Test: atest LockTaskControllerTest Bug: 176801033 Change-Id: I74f1332f059e26ccedf49d778d683526a6ebec8d
This commit is contained in:
@@ -537,7 +537,7 @@ public class LockTaskController {
|
||||
setStatusBarState(mLockTaskModeState, userId);
|
||||
setKeyguardState(mLockTaskModeState, userId);
|
||||
if (oldLockTaskModeState == LOCK_TASK_MODE_PINNED) {
|
||||
lockKeyguardIfNeeded();
|
||||
lockKeyguardIfNeeded(userId);
|
||||
}
|
||||
if (getDevicePolicyManager() != null) {
|
||||
getDevicePolicyManager().notifyLockTaskModeChanged(false, null, userId);
|
||||
@@ -882,15 +882,15 @@ public class LockTaskController {
|
||||
* Helper method for locking the device immediately. This may be necessary when the device
|
||||
* leaves the pinned mode.
|
||||
*/
|
||||
private void lockKeyguardIfNeeded() {
|
||||
if (shouldLockKeyguard()) {
|
||||
private void lockKeyguardIfNeeded(int userId) {
|
||||
if (shouldLockKeyguard(userId)) {
|
||||
mWindowManager.lockNow(null);
|
||||
mWindowManager.dismissKeyguard(null /* callback */, null /* message */);
|
||||
getLockPatternUtils().requireCredentialEntry(USER_ALL);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldLockKeyguard() {
|
||||
private boolean shouldLockKeyguard(int userId) {
|
||||
// This functionality should be kept consistent with
|
||||
// com.android.settings.security.ScreenPinningSettings (see b/127605586)
|
||||
try {
|
||||
@@ -900,7 +900,7 @@ public class LockTaskController {
|
||||
} catch (Settings.SettingNotFoundException e) {
|
||||
// Log to SafetyNet for b/127605586
|
||||
android.util.EventLog.writeEvent(0x534e4554, "127605586", -1, "");
|
||||
return getLockPatternUtils().isSecure(USER_CURRENT);
|
||||
return getLockPatternUtils().isSecure(userId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -453,7 +453,7 @@ public class LockTaskControllerTest {
|
||||
Settings.Secure.clearProviderForTest();
|
||||
|
||||
// AND a password is set
|
||||
when(mLockPatternUtils.isSecure(anyInt()))
|
||||
when(mLockPatternUtils.isSecure(TEST_USER_ID))
|
||||
.thenReturn(true);
|
||||
|
||||
// AND there is a task record
|
||||
|
||||
Reference in New Issue
Block a user