[RESTRICT AUTOMERGE] 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: Ib8a11ed4fc895bcd6eda8cf777a8dd2ce253e11e
This commit is contained in:
@@ -485,7 +485,7 @@ public class LockTaskController {
|
|||||||
setStatusBarState(LOCK_TASK_MODE_NONE, userId);
|
setStatusBarState(LOCK_TASK_MODE_NONE, userId);
|
||||||
setKeyguardState(LOCK_TASK_MODE_NONE, userId);
|
setKeyguardState(LOCK_TASK_MODE_NONE, userId);
|
||||||
if (mLockTaskModeState == LOCK_TASK_MODE_PINNED) {
|
if (mLockTaskModeState == LOCK_TASK_MODE_PINNED) {
|
||||||
lockKeyguardIfNeeded();
|
lockKeyguardIfNeeded(userId);
|
||||||
}
|
}
|
||||||
if (getDevicePolicyManager() != null) {
|
if (getDevicePolicyManager() != null) {
|
||||||
getDevicePolicyManager().notifyLockTaskModeChanged(false, null, userId);
|
getDevicePolicyManager().notifyLockTaskModeChanged(false, null, userId);
|
||||||
@@ -801,15 +801,15 @@ public class LockTaskController {
|
|||||||
* Helper method for locking the device immediately. This may be necessary when the device
|
* Helper method for locking the device immediately. This may be necessary when the device
|
||||||
* leaves the pinned mode.
|
* leaves the pinned mode.
|
||||||
*/
|
*/
|
||||||
private void lockKeyguardIfNeeded() {
|
private void lockKeyguardIfNeeded(int userId) {
|
||||||
if (shouldLockKeyguard()) {
|
if (shouldLockKeyguard(userId)) {
|
||||||
mWindowManager.lockNow(null);
|
mWindowManager.lockNow(null);
|
||||||
mWindowManager.dismissKeyguard(null /* callback */, null /* message */);
|
mWindowManager.dismissKeyguard(null /* callback */, null /* message */);
|
||||||
getLockPatternUtils().requireCredentialEntry(USER_ALL);
|
getLockPatternUtils().requireCredentialEntry(USER_ALL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean shouldLockKeyguard() {
|
private boolean shouldLockKeyguard(int userId) {
|
||||||
// This functionality should be kept consistent with
|
// This functionality should be kept consistent with
|
||||||
// com.android.settings.security.ScreenPinningSettings (see b/127605586)
|
// com.android.settings.security.ScreenPinningSettings (see b/127605586)
|
||||||
try {
|
try {
|
||||||
@@ -819,7 +819,7 @@ public class LockTaskController {
|
|||||||
} catch (Settings.SettingNotFoundException e) {
|
} catch (Settings.SettingNotFoundException e) {
|
||||||
// Log to SafetyNet for b/127605586
|
// Log to SafetyNet for b/127605586
|
||||||
android.util.EventLog.writeEvent(0x534e4554, "127605586", -1, "");
|
android.util.EventLog.writeEvent(0x534e4554, "127605586", -1, "");
|
||||||
return getLockPatternUtils().isSecure(USER_CURRENT);
|
return getLockPatternUtils().isSecure(userId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -446,8 +446,7 @@ public class LockTaskControllerTest {
|
|||||||
Settings.Secure.clearProviderForTest();
|
Settings.Secure.clearProviderForTest();
|
||||||
|
|
||||||
// AND a password is set
|
// AND a password is set
|
||||||
when(mLockPatternUtils.isSecure(anyInt()))
|
when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
|
||||||
.thenReturn(true);
|
|
||||||
|
|
||||||
// AND there is a task record
|
// AND there is a task record
|
||||||
TaskRecord tr1 = getTaskRecord(TaskRecord.LOCK_TASK_AUTH_WHITELISTED);
|
TaskRecord tr1 = getTaskRecord(TaskRecord.LOCK_TASK_AUTH_WHITELISTED);
|
||||||
|
|||||||
Reference in New Issue
Block a user