Fix voicemail SIM card name unknown after unlock PIN.
Reproduce Steps:
1. Power on mobile with PIN.
2. Unlock PIN and receive a voicemail message.
Solution:
Voicemail message is received before SIM loaded, so SPN cannot
be shown on the voicemail. To fix, after SIM loaded, refresh
voicemail notification.
Change-Id: I133ccab84da0e025a98e8edb7320f1aa879660e0
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 6e68fa3..3b27a4d 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -42,6 +42,7 @@
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
+import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.ArrayMap;
@@ -132,6 +133,27 @@
mNotificationComponent = notificationComponent != null
? ComponentName.unflattenFromString(notificationComponent) : null;
+
+ mSubscriptionManager.addOnSubscriptionsChangedListener(
+ new OnSubscriptionsChangedListener() {
+ @Override
+ public void onSubscriptionsChanged() {
+ updateActivePhonesMwi();
+ }
+ });
+ }
+
+ public void updateActivePhonesMwi() {
+ List<SubscriptionInfo> subInfos = mSubscriptionManager.getActiveSubscriptionInfoList();
+
+ if (subInfos == null) {
+ return;
+ }
+
+ for (int i = 0; i < subInfos.size(); i++) {
+ int subId = subInfos.get(i).getSubscriptionId();
+ refreshMwi(subId);
+ }
}
/**