Merge "Reset SIM state if the subscription/slot is no longer active." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f6840a17ff
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user