Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +2 −1 Original line number Diff line number Diff line Loading @@ -635,13 +635,13 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable, case TelephonyManager.SIM_STATE_PUK_REQUIRED: synchronized (KeyguardViewMediator.this) { mSimWasLocked.append(slotId, true); mPendingPinLock = true; if (!mShowing) { if (DEBUG_SIM_STATES) Log.d(TAG, "INTENT_VALUE_ICC_LOCKED and keygaurd isn't " + "showing; need to show keyguard so user can enter sim pin"); doKeyguardLocked(null); } else { mPendingPinLock = true; resetStateLocked(); } } Loading Loading @@ -2984,6 +2984,7 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable, pw.print(" mPendingReset: "); pw.println(mPendingReset); pw.print(" mPendingLock: "); pw.println(mPendingLock); pw.print(" wakeAndUnlocking: "); pw.println(mWakeAndUnlocking); pw.print(" mPendingPinLock: "); pw.println(mPendingPinLock); } /** Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,31 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { verify(mStatusBarKeyguardViewManager, atLeast(1)).show(null); } @Test @TestableLooper.RunWithLooper(setAsMainLooper = true) public void restoreBouncerWhenSimLockedAndKeyguardIsGoingAway_initiallyNotShowing() { // When showing and provisioned mViewMediator.onSystemReady(); when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(true); mViewMediator.setShowingLocked(false); // and a SIM becomes locked and requires a PIN mViewMediator.mUpdateCallback.onSimStateChanged( 1 /* subId */, 0 /* slotId */, TelephonyManager.SIM_STATE_PIN_REQUIRED); // and the keyguard goes away mViewMediator.setShowingLocked(false); when(mStatusBarKeyguardViewManager.isShowing()).thenReturn(false); mViewMediator.mUpdateCallback.onKeyguardVisibilityChanged(false); TestableLooper.get(this).processAllMessages(); // then make sure it comes back verify(mStatusBarKeyguardViewManager, atLeast(1)).show(null); } @Test public void testBouncerPrompt_deviceLockedByAdmin() { // GIVEN no trust agents enabled and biometrics aren't enrolled Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +2 −1 Original line number Diff line number Diff line Loading @@ -635,13 +635,13 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable, case TelephonyManager.SIM_STATE_PUK_REQUIRED: synchronized (KeyguardViewMediator.this) { mSimWasLocked.append(slotId, true); mPendingPinLock = true; if (!mShowing) { if (DEBUG_SIM_STATES) Log.d(TAG, "INTENT_VALUE_ICC_LOCKED and keygaurd isn't " + "showing; need to show keyguard so user can enter sim pin"); doKeyguardLocked(null); } else { mPendingPinLock = true; resetStateLocked(); } } Loading Loading @@ -2984,6 +2984,7 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable, pw.print(" mPendingReset: "); pw.println(mPendingReset); pw.print(" mPendingLock: "); pw.println(mPendingLock); pw.print(" wakeAndUnlocking: "); pw.println(mWakeAndUnlocking); pw.print(" mPendingPinLock: "); pw.println(mPendingPinLock); } /** Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java +25 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,31 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { verify(mStatusBarKeyguardViewManager, atLeast(1)).show(null); } @Test @TestableLooper.RunWithLooper(setAsMainLooper = true) public void restoreBouncerWhenSimLockedAndKeyguardIsGoingAway_initiallyNotShowing() { // When showing and provisioned mViewMediator.onSystemReady(); when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(true); mViewMediator.setShowingLocked(false); // and a SIM becomes locked and requires a PIN mViewMediator.mUpdateCallback.onSimStateChanged( 1 /* subId */, 0 /* slotId */, TelephonyManager.SIM_STATE_PIN_REQUIRED); // and the keyguard goes away mViewMediator.setShowingLocked(false); when(mStatusBarKeyguardViewManager.isShowing()).thenReturn(false); mViewMediator.mUpdateCallback.onKeyguardVisibilityChanged(false); TestableLooper.get(this).processAllMessages(); // then make sure it comes back verify(mStatusBarKeyguardViewManager, atLeast(1)).show(null); } @Test public void testBouncerPrompt_deviceLockedByAdmin() { // GIVEN no trust agents enabled and biometrics aren't enrolled Loading