Fix for maintaining proper simState across subscriptions
Change the condition to update the subscription
information based on slot Id once the subInfoRecords are loaded.
Update the subscription information and the sim state based on
the previously stored subscription information rather than
invalid subscription.
Change-Id: Ia31784781d6e7f6a82665c40cd10cb557fe6b018
CRs-Fixed: 721525
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 751e239..3a5fafa 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -635,7 +635,7 @@
for (SubInfoRecord subInfo: activeSubInfos) {
//subId for the slot initially initiazed to invalid value
//Got intent with correct subId for the slot now.
- if (mSubIdForSlot[subInfo.mSlotId] == INVALID_SUBID) {
+ if (mSubIdForSlot[subInfo.mSlotId] != subInfo.mSubId) {
long subId = mSubIdForSlot[subInfo.mSlotId];
mSimState.put(subInfo.mSubId, mSimState.get(subId));
mPlmn.put(subInfo.mSubId, mPlmn.get(subId));