diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 1bab36be8cd8..c826aaaac749 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -1850,6 +1850,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { final TelephonyManager tele = TelephonyManager.from(mContext); ArrayList<Integer> changedSubscriptionIds = new ArrayList<>(); HashSet<Integer> activeSubIds = new HashSet<>(); + HashSet<Integer> activeSlotIds = new HashSet<>(); for (SubscriptionInfo info : activeSubscriptionInfos) { int subId = info.getSubscriptionId(); @@ -1878,11 +1879,15 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } activeSubIds.add(subId); + activeSlotIds.add(slotId); } for (SimData data : mSimDatas.values()) { - if (!activeSubIds.contains(data.subId) && data.simState != State.ABSENT) { + if (!activeSubIds.contains(data.subId) + && !activeSlotIds.contains(data.slotId) + && data.simState != State.ABSENT) { // for the inactive subscriptions, reset state to ABSENT + if (DEBUG_SIM_STATES) Log.d(TAG, "reset state to ABSENT for subId:" + data.subId); data.simState = State.ABSENT; changedSubscriptionIds.add(data.subId); } |