OSDN Git Service

Also use the notification's sound for the misc channel
authorJulia Reynolds <juliacr@google.com>
Mon, 17 Apr 2017 14:31:03 +0000 (10:31 -0400)
committerJulia Reynolds <juliacr@google.com>
Mon, 17 Apr 2017 14:33:30 +0000 (14:33 +0000)
Even if it's nonexistent.

Test: runtest systemui-notification
Change-Id: I1167fdf10b776460de696657dd49ab6f2be85753
Fixes: 37414045

core/java/android/app/Notification.java
services/core/java/com/android/server/notification/NotificationRecord.java
services/tests/notification/src/com/android/server/notification/NotificationRecordTest.java

index 7f26f4f..b31e03f 100644 (file)
@@ -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) {
index b7d3173..b48fd5c 100644 (file)
@@ -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;
             }
         }
index 946044d..b2e6ef9 100644 (file)
@@ -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) {
@@ -206,6 +209,18 @@ public class NotificationRecordTest {
     }
 
     @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);
         // post upgrade, default sound.