From b9e712ebde010c4b94536db0fa6edcf2b9580be2 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Mon, 17 Apr 2017 10:31:03 -0400 Subject: [PATCH] Also use the notification's sound for the misc channel Even if it's nonexistent. Test: runtest systemui-notification Change-Id: I1167fdf10b776460de696657dd49ab6f2be85753 Fixes: 37414045 --- core/java/android/app/Notification.java | 4 +++- .../server/notification/NotificationRecord.java | 2 +- .../notification/NotificationRecordTest.java | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 7f26f4fd7050f..b31e03f061e8d 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -2339,7 +2339,9 @@ public class Notification implements Parcelable @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("Notification(pri="); + sb.append("Notification(channel="); + sb.append(getChannel()); + sb.append(" pri="); sb.append(priority); sb.append(" contentView="); if (contentView != null) { diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java index b7d31735a7284..b48fd5c75574d 100644 --- a/services/core/java/com/android/server/notification/NotificationRecord.java +++ b/services/core/java/com/android/server/notification/NotificationRecord.java @@ -172,7 +172,7 @@ public final class NotificationRecord { final boolean useDefaultSound = (n.defaults & Notification.DEFAULT_SOUND) != 0; if (useDefaultSound) { sound = Settings.System.DEFAULT_NOTIFICATION_URI; - } else if (n.sound != null) { + } else { sound = n.sound; } } diff --git a/services/tests/notification/src/com/android/server/notification/NotificationRecordTest.java b/services/tests/notification/src/com/android/server/notification/NotificationRecordTest.java index 946044d57e03e..b2e6ef9f817ff 100644 --- a/services/tests/notification/src/com/android/server/notification/NotificationRecordTest.java +++ b/services/tests/notification/src/com/android/server/notification/NotificationRecordTest.java @@ -124,6 +124,9 @@ public class NotificationRecordTest { builder.setSound(CUSTOM_SOUND, CUSTOM_ATTRIBUTES); channel.setSound(CUSTOM_SOUND, CUSTOM_ATTRIBUTES); } + } else { + channel.setSound(null, null); + builder.setSound(null, null); } if (buzzy) { if (defaultVibration) { @@ -205,6 +208,18 @@ public class NotificationRecordTest { assertEquals(CUSTOM_ATTRIBUTES, record.getAudioAttributes()); } + @Test + public void testSound_noSound_preUpgrade() throws Exception { + // pre upgrade, default sound. + StatusBarNotification sbn = getNotification(true /*preO */, false /* noisy */, + false /* defaultSound */, false /* buzzy */, false /* defaultBuzz */, + false /* lights */, false /*defaultLights */); + + NotificationRecord record = new NotificationRecord(mMockContext, sbn, defaultChannel); + assertEquals(null, record.getSound()); + assertEquals(Notification.AUDIO_ATTRIBUTES_DEFAULT, record.getAudioAttributes()); + } + @Test public void testSound_default_upgradeUsesChannel() throws Exception { channel.setSound(CUSTOM_SOUND, CUSTOM_ATTRIBUTES);