On device lockdown, always show the keyguard

Manual test steps:
1. Enable app pinning and disable "Ask for PIN before unpinning" setting
2. Pin an app (ie: Settings)
3. Lockdown from the power menu
Observe: user is brought to the keyguard, primary auth is required
to enter the device. After entering credential, the device is still in
app pinning mode.

Test: atest KeyguardViewMediatorTest
Test: manual steps outlined above
Bug: 218495634
Change-Id: I9a7c5e1acadabd4484e58573331f98dba895f2a2
Merged-In: I9a7c5e1acadabd4484e58573331f98dba895f2a2
This commit is contained in:
Beverly
2023-05-08 16:33:12 +00:00
committed by Beverly Tai
parent 0e8a696a9c
commit 100ae42365

View File

@@ -677,6 +677,13 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
}
}
}
@Override
public void onStrongAuthStateChanged(int userId) {
if (mLockPatternUtils.isUserInLockdown(KeyguardUpdateMonitor.getCurrentUser())) {
doKeyguardLocked(null);
}
}
};
ViewMediatorCallback mViewMediatorCallback = new ViewMediatorCallback() {
@@ -1535,7 +1542,8 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable,
}
// if another app is disabling us, don't show
if (!mExternallyEnabled) {
if (!mExternallyEnabled
&& !mLockPatternUtils.isUserInLockdown(KeyguardUpdateMonitor.getCurrentUser())) {
if (DEBUG) Log.d(TAG, "doKeyguard: not showing because externally disabled");
mNeedToReshowWhenReenabled = true;