Do not finish lockscreen for multiple sims.
Currently, in the logic, if the lockscreen is disabled, we finish lockscreen instead of proceeding ot the second sim. I have removed this logic. We are expecting the security mode to be SimPin/SimPuk if we are expecting an additional sim. We also do not want to finish if the security mode is supposed to be secure. Fixes: 282107332 Test: added a unit test. Test: test 2 esim cards and restart with none security. Test: test 2 esim cards and restart with swipe security. Test: test 2 esim cards and restart with pin security. Test: test 2 esim cards and restart with pin security from sim-puk to sim- pin. Change-Id: I519fcb995a5915100bd97faaa9618d573c64bcc2
This commit is contained in:
@@ -826,7 +826,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
|
||||
SecurityMode securityMode = mSecurityModel.getSecurityMode(targetUserId);
|
||||
boolean isLockscreenDisabled = mLockPatternUtils.isLockScreenDisabled(
|
||||
KeyguardUpdateMonitor.getCurrentUser());
|
||||
if (securityMode == SecurityMode.None || isLockscreenDisabled) {
|
||||
|
||||
if (securityMode == SecurityMode.None) {
|
||||
finish = isLockscreenDisabled;
|
||||
eventSubtype = BOUNCER_DISMISS_SIM;
|
||||
uiEvent = BouncerUiEvent.BOUNCER_DISMISS_SIM;
|
||||
|
||||
@@ -483,6 +483,30 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
|
||||
verify(viewMediatorCallback, never()).keyguardDone(anyBoolean(), anyInt())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun showNextSecurityScreenOrFinish_SimPinToAnotherSimPin_None() {
|
||||
// GIVEN the current security method is SimPin
|
||||
whenever(keyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(false)
|
||||
whenever(keyguardUpdateMonitor.getUserUnlockedWithBiometric(TARGET_USER_ID))
|
||||
.thenReturn(false)
|
||||
underTest.showSecurityScreen(SecurityMode.SimPin)
|
||||
|
||||
// WHEN a request is made from the SimPin screens to show the next security method
|
||||
whenever(keyguardSecurityModel.getSecurityMode(TARGET_USER_ID))
|
||||
.thenReturn(SecurityMode.SimPin)
|
||||
whenever(lockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(true)
|
||||
|
||||
underTest.showNextSecurityScreenOrFinish(
|
||||
/* authenticated= */ true,
|
||||
TARGET_USER_ID,
|
||||
/* bypassSecondaryLockScreen= */ true,
|
||||
SecurityMode.SimPin
|
||||
)
|
||||
|
||||
// THEN the next security method of None will dismiss keyguard.
|
||||
verify(viewMediatorCallback, never()).keyguardDone(anyBoolean(), anyInt())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun onSwipeUp_whenFaceDetectionIsNotRunning_initiatesFaceAuth() {
|
||||
val registeredSwipeListener = registeredSwipeListener
|
||||
|
||||
Reference in New Issue
Block a user