summaryrefslogtreecommitdiffstats
path: root/java/com/android/dialer/app/calllog
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2017-11-14 16:52:54 -0800
committerzachh <zachh@google.com>2017-11-18 07:27:45 +0000
commit1569826821d3de13d580a33a570057c1445741f7 (patch)
tree46eb413e835e6384c493ddf30c588c052149dfab /java/com/android/dialer/app/calllog
parent9c327dac16eeb5bdf1a28eb64ce0c9ac7b73158c (diff)
downloadandroid_packages_apps_Dialer-1569826821d3de13d580a33a570057c1445741f7.tar.gz
android_packages_apps_Dialer-1569826821d3de13d580a33a570057c1445741f7.tar.bz2
android_packages_apps_Dialer-1569826821d3de13d580a33a570057c1445741f7.zip
Use phone account ID for legacy voicemail notification.
This allows one notification per SIM to be shown on multi SIM devices Bug: 64010653 Test: LegacyVoicemailNotifierTest PiperOrigin-RevId: 175756590 Change-Id: I8c2fe3ec06c5e6868ddc647742ab9ef422494b3b
Diffstat (limited to 'java/com/android/dialer/app/calllog')
-rw-r--r--java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
index 584f07fe3..a0bbfa0f1 100644
--- a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
+++ b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
@@ -40,6 +40,7 @@ import com.android.dialer.notification.NotificationChannelManager;
/** Shows a notification in the status bar for legacy vociemail. */
@TargetApi(VERSION_CODES.O)
public final class LegacyVoicemailNotifier {
+ private static final String NOTIFICATION_TAG_PREFIX = "LegacyVoicemail_";
private static final String NOTIFICATION_TAG = "LegacyVoicemail";
private static final int NOTIFICATION_ID = 1;
@@ -77,7 +78,8 @@ public final class LegacyVoicemailNotifier {
callVoicemailIntent,
voicemailSettingsIntent,
isRefresh);
- DialerNotificationManager.notify(context, NOTIFICATION_TAG, NOTIFICATION_ID, notification);
+ DialerNotificationManager.notify(
+ context, getNotificationTag(context, handle), NOTIFICATION_ID, notification);
}
@NonNull
@@ -146,10 +148,22 @@ public final class LegacyVoicemailNotifier {
}
}
- public static void cancelNotification(@NonNull Context context) {
+ public static void cancelNotification(
+ @NonNull Context context, @NonNull PhoneAccountHandle phoneAccountHandle) {
LogUtil.enterBlock("LegacyVoicemailNotifier.cancelNotification");
Assert.checkArgument(BuildCompat.isAtLeastO());
- DialerNotificationManager.cancel(context, NOTIFICATION_TAG, NOTIFICATION_ID);
+ Assert.isNotNull(phoneAccountHandle);
+ DialerNotificationManager.cancel(
+ context, getNotificationTag(context, phoneAccountHandle), NOTIFICATION_ID);
+ }
+
+ @NonNull
+ private static String getNotificationTag(
+ @NonNull Context context, @NonNull PhoneAccountHandle phoneAccountHandle) {
+ if (context.getSystemService(TelephonyManager.class).getPhoneCount() <= 1) {
+ return NOTIFICATION_TAG;
+ }
+ return NOTIFICATION_TAG_PREFIX + phoneAccountHandle.getId();
}
private LegacyVoicemailNotifier() {}