diff options
author | Josh Tsuji <tsuji@google.com> | 2022-01-13 15:45:29 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-01-13 15:45:29 +0000 |
commit | bbfe4b8fcdc2b9e55ec2aa5c1263816e617462e2 (patch) | |
tree | 91325d663c9e30b921dab59e0dbcad38d5f6b8f2 | |
parent | 68fe893dd5cf56085b53e62270a90cfa1b4cc1f0 (diff) | |
parent | 9d5f970c7638d9951bf95d9aed6a0f627fb20da0 (diff) | |
download | base-bbfe4b8fcdc2b9e55ec2aa5c1263816e617462e2.tar.gz |
Merge "Check if the SIM is secure before dispatching swipe to unlock." into sc-v2-dev
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java | 15 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java | 4 |
2 files changed, 19 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 7a53fd1152fe..e9f288d51317 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1727,6 +1727,21 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, || mUpdateMonitor.isSimPinSecure(); } + /** + * Whether any of the SIMs on the device are secured with a PIN. If so, the keyguard should not + * be dismissable until the PIN is entered, even if the device itself has no lock set. + */ + public boolean isAnySimPinSecure() { + for (int i = 0; i < mLastSimStates.size(); i++) { + final int key = mLastSimStates.keyAt(i); + if (KeyguardUpdateMonitor.isSimPinSecure(mLastSimStates.get(key))) { + return true; + } + } + + return false; + } + public void setSwitchingUser(boolean switching) { mUpdateMonitor.setSwitchingUser(switching); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 7a68b9616fa3..778a1e36392e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -1354,10 +1354,14 @@ public class StatusBar extends SystemUI implements // Things that mean we're not dismissing the keyguard, and should ignore this expansion: // - Keyguard isn't even visible. // - Keyguard is visible, but can't be dismissed (swiping up will show PIN/password prompt). + // - The SIM is locked, you can't swipe to unlock. If the SIM is locked but there is no + // device lock set, canDismissLockScreen returns true even though you should not be able + // to dismiss the lock screen until entering the SIM PIN. // - QS is expanded and we're swiping - swiping up now will hide QS, not dismiss the // keyguard. if (!isKeyguardShowing() || !mKeyguardStateController.canDismissLockScreen() + || mKeyguardViewMediator.isAnySimPinSecure() || (mNotificationPanelViewController.isQsExpanded() && trackingTouch)) { return; } |