Merge "Reset SIM state if the subscription/slot is no longer active." into pi-dev

This commit is contained in:
TreeHugger Robot
2018-04-12 13:32:35 +00:00
committed by Android (Google) Code Review

View File

@@ -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);
}