Loading core/java/android/app/Notification.java +2 −0 Original line number Diff line number Diff line Loading @@ -2838,6 +2838,8 @@ public class Notification implements Parcelable } } } visitIconUri(visitor, extras.getParcelable(EXTRA_CONVERSATION_ICON)); } if (isStyle(CallStyle.class) & extras != null) { Loading services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +68 −19 Original line number Diff line number Diff line Loading @@ -4319,6 +4319,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { public void testVisitUris() throws Exception { final Uri audioContents = Uri.parse("content://com.example/audio"); final Uri backgroundImage = Uri.parse("content://com.example/background"); final Icon smallIcon = Icon.createWithContentUri("content://media/small/icon"); final Icon largeIcon = Icon.createWithContentUri("content://media/large/icon"); final Icon personIcon1 = Icon.createWithContentUri("content://media/person1"); final Icon personIcon2 = Icon.createWithContentUri("content://media/person2"); final Icon personIcon3 = Icon.createWithContentUri("content://media/person3"); Loading Loading @@ -4352,7 +4354,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") .setSmallIcon(android.R.drawable.sym_def_app_icon) .setSmallIcon(smallIcon) .setLargeIcon(largeIcon) .addExtras(extras) .build(); Loading @@ -4360,6 +4363,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { n.visitUris(visitor); verify(visitor, times(1)).accept(eq(audioContents)); verify(visitor, times(1)).accept(eq(backgroundImage)); verify(visitor, times(1)).accept(eq(smallIcon.getUri())); verify(visitor, times(1)).accept(eq(largeIcon.getUri())); verify(visitor, times(1)).accept(eq(personIcon1.getUri())); verify(visitor, times(1)).accept(eq(personIcon2.getUri())); verify(visitor, times(1)).accept(eq(personIcon3.getUri())); Loading @@ -4367,6 +4372,68 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(visitor, times(1)).accept(eq(historyUri2)); } @Test public void testVisitUris_audioContentsString() throws Exception { final Uri audioContents = Uri.parse("content://com.example/audio"); Bundle extras = new Bundle(); extras.putString(Notification.EXTRA_AUDIO_CONTENTS_URI, audioContents.toString()); Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") .setSmallIcon(android.R.drawable.sym_def_app_icon) .addExtras(extras) .build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor, times(1)).accept(eq(audioContents)); } @Test public void testVisitUris_messagingStyle() { final Icon personIcon1 = Icon.createWithContentUri("content://media/person1"); final Icon personIcon2 = Icon.createWithContentUri("content://media/person2"); final Icon personIcon3 = Icon.createWithContentUri("content://media/person3"); final Person person1 = new Person.Builder() .setName("Messaging Person 1") .setIcon(personIcon1) .build(); final Person person2 = new Person.Builder() .setName("Messaging Person 2") .setIcon(personIcon2) .build(); final Person person3 = new Person.Builder() .setName("Messaging Person 3") .setIcon(personIcon3) .build(); Icon shortcutIcon = Icon.createWithContentUri("content://media/shortcut"); Notification.Builder builder = new Notification.Builder(mContext, "a") .setCategory(Notification.CATEGORY_MESSAGE) .setContentTitle("new message!") .setContentText("Conversation Notification") .setSmallIcon(android.R.drawable.sym_def_app_icon); Notification.MessagingStyle.Message message1 = new Notification.MessagingStyle.Message( "Marco?", System.currentTimeMillis(), person2); Notification.MessagingStyle.Message message2 = new Notification.MessagingStyle.Message( "Polo!", System.currentTimeMillis(), person3); Notification.MessagingStyle style = new Notification.MessagingStyle(person1) .addMessage(message1) .addMessage(message2) .setShortcutIcon(shortcutIcon); builder.setStyle(style); Notification n = builder.build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor, times(1)).accept(eq(shortcutIcon.getUri())); verify(visitor, times(1)).accept(eq(personIcon1.getUri())); verify(visitor, times(1)).accept(eq(personIcon2.getUri())); verify(visitor, times(1)).accept(eq(personIcon3.getUri())); } @Test public void testVisitUris_callStyle() { Icon personIcon = Icon.createWithContentUri("content://media/person"); Loading @@ -4390,24 +4457,6 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(visitor, times(1)).accept(eq(verificationIcon.getUri())); } @Test public void testVisitUris_audioContentsString() throws Exception { final Uri audioContents = Uri.parse("content://com.example/audio"); Bundle extras = new Bundle(); extras.putString(Notification.EXTRA_AUDIO_CONTENTS_URI, audioContents.toString()); Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") .setSmallIcon(android.R.drawable.sym_def_app_icon) .addExtras(extras) .build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor, times(1)).accept(eq(audioContents)); } @Test public void testSetNotificationPolicy_preP_setOldFields() { ZenModeHelper mZenModeHelper = mock(ZenModeHelper.class); Loading Loading
core/java/android/app/Notification.java +2 −0 Original line number Diff line number Diff line Loading @@ -2838,6 +2838,8 @@ public class Notification implements Parcelable } } } visitIconUri(visitor, extras.getParcelable(EXTRA_CONVERSATION_ICON)); } if (isStyle(CallStyle.class) & extras != null) { Loading
services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +68 −19 Original line number Diff line number Diff line Loading @@ -4319,6 +4319,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { public void testVisitUris() throws Exception { final Uri audioContents = Uri.parse("content://com.example/audio"); final Uri backgroundImage = Uri.parse("content://com.example/background"); final Icon smallIcon = Icon.createWithContentUri("content://media/small/icon"); final Icon largeIcon = Icon.createWithContentUri("content://media/large/icon"); final Icon personIcon1 = Icon.createWithContentUri("content://media/person1"); final Icon personIcon2 = Icon.createWithContentUri("content://media/person2"); final Icon personIcon3 = Icon.createWithContentUri("content://media/person3"); Loading Loading @@ -4352,7 +4354,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") .setSmallIcon(android.R.drawable.sym_def_app_icon) .setSmallIcon(smallIcon) .setLargeIcon(largeIcon) .addExtras(extras) .build(); Loading @@ -4360,6 +4363,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { n.visitUris(visitor); verify(visitor, times(1)).accept(eq(audioContents)); verify(visitor, times(1)).accept(eq(backgroundImage)); verify(visitor, times(1)).accept(eq(smallIcon.getUri())); verify(visitor, times(1)).accept(eq(largeIcon.getUri())); verify(visitor, times(1)).accept(eq(personIcon1.getUri())); verify(visitor, times(1)).accept(eq(personIcon2.getUri())); verify(visitor, times(1)).accept(eq(personIcon3.getUri())); Loading @@ -4367,6 +4372,68 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(visitor, times(1)).accept(eq(historyUri2)); } @Test public void testVisitUris_audioContentsString() throws Exception { final Uri audioContents = Uri.parse("content://com.example/audio"); Bundle extras = new Bundle(); extras.putString(Notification.EXTRA_AUDIO_CONTENTS_URI, audioContents.toString()); Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") .setSmallIcon(android.R.drawable.sym_def_app_icon) .addExtras(extras) .build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor, times(1)).accept(eq(audioContents)); } @Test public void testVisitUris_messagingStyle() { final Icon personIcon1 = Icon.createWithContentUri("content://media/person1"); final Icon personIcon2 = Icon.createWithContentUri("content://media/person2"); final Icon personIcon3 = Icon.createWithContentUri("content://media/person3"); final Person person1 = new Person.Builder() .setName("Messaging Person 1") .setIcon(personIcon1) .build(); final Person person2 = new Person.Builder() .setName("Messaging Person 2") .setIcon(personIcon2) .build(); final Person person3 = new Person.Builder() .setName("Messaging Person 3") .setIcon(personIcon3) .build(); Icon shortcutIcon = Icon.createWithContentUri("content://media/shortcut"); Notification.Builder builder = new Notification.Builder(mContext, "a") .setCategory(Notification.CATEGORY_MESSAGE) .setContentTitle("new message!") .setContentText("Conversation Notification") .setSmallIcon(android.R.drawable.sym_def_app_icon); Notification.MessagingStyle.Message message1 = new Notification.MessagingStyle.Message( "Marco?", System.currentTimeMillis(), person2); Notification.MessagingStyle.Message message2 = new Notification.MessagingStyle.Message( "Polo!", System.currentTimeMillis(), person3); Notification.MessagingStyle style = new Notification.MessagingStyle(person1) .addMessage(message1) .addMessage(message2) .setShortcutIcon(shortcutIcon); builder.setStyle(style); Notification n = builder.build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor, times(1)).accept(eq(shortcutIcon.getUri())); verify(visitor, times(1)).accept(eq(personIcon1.getUri())); verify(visitor, times(1)).accept(eq(personIcon2.getUri())); verify(visitor, times(1)).accept(eq(personIcon3.getUri())); } @Test public void testVisitUris_callStyle() { Icon personIcon = Icon.createWithContentUri("content://media/person"); Loading @@ -4390,24 +4457,6 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(visitor, times(1)).accept(eq(verificationIcon.getUri())); } @Test public void testVisitUris_audioContentsString() throws Exception { final Uri audioContents = Uri.parse("content://com.example/audio"); Bundle extras = new Bundle(); extras.putString(Notification.EXTRA_AUDIO_CONTENTS_URI, audioContents.toString()); Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") .setSmallIcon(android.R.drawable.sym_def_app_icon) .addExtras(extras) .build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor, times(1)).accept(eq(audioContents)); } @Test public void testSetNotificationPolicy_preP_setOldFields() { ZenModeHelper mZenModeHelper = mock(ZenModeHelper.class); Loading