summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java7
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);
}