Merge "Update SubscriptionController on NOT_READY only if it is terminal state." into sc-dev
diff --git a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
index 0c6cc92..429f7f9 100644
--- a/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
+++ b/src/java/com/android/internal/telephony/SubscriptionInfoUpdater.java
@@ -457,10 +457,10 @@
// At this phase, the subscription list is accessible. Treating NOT_READY
// as equivalent to ABSENT, once the rest of the system can handle it.
sIccId[phoneId] = ICCID_STRING_FOR_NO_SIM;
+ updateSubscriptionInfoByIccId(phoneId, false /* updateEmbeddedSubs */);
} else {
sIccId[phoneId] = null;
}
- updateSubscriptionInfoByIccId(phoneId, false /* updateEmbeddedSubs */);
broadcastSimStateChanged(phoneId, IccCardConstants.INTENT_VALUE_ICC_NOT_READY,
null);
diff --git a/tests/telephonytests/src/com/android/internal/telephony/SubscriptionInfoUpdaterTest.java b/tests/telephonytests/src/com/android/internal/telephony/SubscriptionInfoUpdaterTest.java
index c92d4f9..1161792 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/SubscriptionInfoUpdaterTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/SubscriptionInfoUpdaterTest.java
@@ -246,8 +246,8 @@
mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
verify(mConfigManager, never()).updateConfigForPhoneId(eq(FAKE_PHONE_ID_1),
eq(IccCardConstants.INTENT_VALUE_ICC_NOT_READY));
- verify(mSubscriptionController).clearSubInfoRecord(FAKE_PHONE_ID_1);
- verify(mSubscriptionController).notifySubscriptionInfoChanged();
+ verify(mSubscriptionController, never()).clearSubInfoRecord(FAKE_PHONE_ID_1);
+ verify(mSubscriptionController, never()).notifySubscriptionInfoChanged();
}
@Test