Do not finish keyguard if method is swipe.
A continuation of the successful unlock flow for sim pin. We do not want to finish keyguard if our method is swipe, which is indicated when lockscreen disabled is false and lockpatternutils returns None security. Fixes: 288099374 Test: unlock sim pin, sim puk for None. Test: unlock sim pin, sim puk for Swipe. Test: disable esim, sim puk for None. <--this will go to LS but seems like a separate issue Test: disable esim, sim pin for Swipe. Change-Id: I04779b26fa1a5a671d0a31b23ba36affe4387aa4
This commit is contained in:
@@ -782,9 +782,10 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
|
||||
case SimPuk:
|
||||
// Shortcut for SIM PIN/PUK to go to directly to user's security screen or home
|
||||
SecurityMode securityMode = mSecurityModel.getSecurityMode(targetUserId);
|
||||
if (securityMode == SecurityMode.None || mLockPatternUtils.isLockScreenDisabled(
|
||||
KeyguardUpdateMonitor.getCurrentUser())) {
|
||||
finish = true;
|
||||
boolean isLockscreenDisabled = mLockPatternUtils.isLockScreenDisabled(
|
||||
KeyguardUpdateMonitor.getCurrentUser());
|
||||
if (securityMode == SecurityMode.None || isLockscreenDisabled) {
|
||||
finish = isLockscreenDisabled;
|
||||
eventSubtype = BOUNCER_DISMISS_SIM;
|
||||
uiEvent = BouncerUiEvent.BOUNCER_DISMISS_SIM;
|
||||
} else {
|
||||
|
||||
@@ -62,12 +62,12 @@ import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.biometrics.SideFpsController;
|
||||
import com.android.systemui.biometrics.SideFpsUiRequestSource;
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
|
||||
import com.android.systemui.classifier.FalsingA11yDelegate;
|
||||
import com.android.systemui.classifier.FalsingCollector;
|
||||
import com.android.systemui.flags.FakeFeatureFlags;
|
||||
import com.android.systemui.flags.FeatureFlags;
|
||||
import com.android.systemui.flags.Flags;
|
||||
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
|
||||
import com.android.systemui.keyguard.domain.interactor.KeyguardFaceAuthInteractor;
|
||||
import com.android.systemui.log.SessionTracker;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
@@ -395,6 +395,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
|
||||
|
||||
// WHEN a request is made from the SimPin screens to show the next security method
|
||||
when(mKeyguardSecurityModel.getSecurityMode(TARGET_USER_ID)).thenReturn(SecurityMode.None);
|
||||
when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(true);
|
||||
mKeyguardSecurityContainerController.showNextSecurityScreenOrFinish(
|
||||
/* authenticated= */true,
|
||||
TARGET_USER_ID,
|
||||
@@ -422,6 +423,28 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
|
||||
verify(mKeyguardUpdateMonitor, never()).getUserHasTrust(anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void showNextSecurityScreenOrFinish_SimPin_Swipe() {
|
||||
// GIVEN the current security method is SimPin
|
||||
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(false);
|
||||
when(mKeyguardUpdateMonitor.getUserUnlockedWithBiometric(TARGET_USER_ID)).thenReturn(false);
|
||||
mKeyguardSecurityContainerController.showSecurityScreen(SecurityMode.SimPin);
|
||||
|
||||
// WHEN a request is made from the SimPin screens to show the next security method
|
||||
when(mKeyguardSecurityModel.getSecurityMode(TARGET_USER_ID)).thenReturn(SecurityMode.None);
|
||||
// WHEN security method is SWIPE
|
||||
when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(false);
|
||||
mKeyguardSecurityContainerController.showNextSecurityScreenOrFinish(
|
||||
/* authenticated= */true,
|
||||
TARGET_USER_ID,
|
||||
/* bypassSecondaryLockScreen= */true,
|
||||
SecurityMode.SimPin);
|
||||
|
||||
// THEN the next security method of None will dismiss keyguard.
|
||||
verify(mViewMediatorCallback, never()).keyguardDone(anyBoolean(), anyInt());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void onSwipeUp_whenFaceDetectionIsNotRunning_initiatesFaceAuth() {
|
||||
KeyguardSecurityContainer.SwipeListener registeredSwipeListener =
|
||||
|
||||
Reference in New Issue
Block a user