Fix to show voice mail notification icon for multi-sim
Add support for showing different voice mail notification
icon for each sim
Change-Id: I4de5dbec45b70264830dc8b2f5e305e2c842f106
Bug: 121362391
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Pranav Temkar <pranavtemkar@gmail.com>
Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
diff --git a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
index 3eb4616..add5bf7 100644
--- a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
+++ b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
@@ -26,6 +26,8 @@
import android.telecom.TelecomManager;
import android.telephony.CarrierConfigManager;
import android.telephony.TelephonyManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
import android.text.TextUtils;
import androidx.annotation.NonNull;
@@ -39,6 +41,7 @@
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.theme.base.ThemeComponent;
+import java.util.List;
/** Shows a notification in the status bar for legacy vociemail. */
public final class LegacyVoicemailNotifier {
@@ -116,9 +119,27 @@
contentIntent = voicemailSettingsIntent;
}
+ int resId = android.R.drawable.stat_notify_voicemail;
+
+ if (pinnedTelephonyManager.getPhoneCount() > 1) {
+ SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class);
+ List<SubscriptionInfo> subInfoList = subManager.getActiveSubscriptionInfoList();
+ if (handle != null && !TextUtils.isEmpty(handle.getId()) && subInfoList!= null) {
+ for (SubscriptionInfo subInfo: subInfoList) {
+ if (handle.getId().equals(subInfo.getIccId())) {
+ int slotId = subInfo.getSimSlotIndex();
+ resId = (slotId == 0) ? R.drawable.stat_notify_voicemail_sub1
+ : (slotId == 1) ? R.drawable.stat_notify_voicemail_sub2
+ : android.R.drawable.stat_notify_voicemail;
+ break;
+ }
+ }
+ }
+ }
+
Notification.Builder builder =
new Notification.Builder(context)
- .setSmallIcon(android.R.drawable.stat_notify_voicemail)
+ .setSmallIcon(resId)
.setColor(ThemeComponent.get(context).theme().getColorPrimary())
.setWhen(System.currentTimeMillis())
.setContentTitle(notificationTitle)
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/stat_notify_voicemail_sub1.png b/java/com/android/dialer/app/res/drawable-hdpi/stat_notify_voicemail_sub1.png
new file mode 100644
index 0000000..e7e6541
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-hdpi/stat_notify_voicemail_sub1.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/stat_notify_voicemail_sub2.png b/java/com/android/dialer/app/res/drawable-hdpi/stat_notify_voicemail_sub2.png
new file mode 100644
index 0000000..5b8bf88
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-hdpi/stat_notify_voicemail_sub2.png
Binary files differ