Loading core/java/android/app/Notification.java +11 −0 Original line number Diff line number Diff line Loading @@ -2510,6 +2510,17 @@ public class Notification implements Parcelable if (person != null && person.getIconUri() != null) { visitor.accept(person.getIconUri()); } final RemoteInputHistoryItem[] history = (RemoteInputHistoryItem[]) extras.getParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS); if (history != null) { for (int i = 0; i < history.length; i++) { RemoteInputHistoryItem item = history[i]; if (item.getUri() != null) { visitor.accept(item.getUri()); } } } } if (MessagingStyle.class.equals(getNotificationStyle()) && extras != null) { Loading services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +32 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Person; import android.app.RemoteInput; import android.app.RemoteInputHistoryItem; import android.app.StatsManager; import android.app.admin.DevicePolicyManagerInternal; import android.app.usage.UsageStatsManagerInternal; Loading Loading @@ -4244,10 +4245,36 @@ 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 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") .setIcon(personIcon1) .build(); final Person person2 = new Person.Builder() .setName("People List Person 1") .setIcon(personIcon2) .build(); final Person person3 = new Person.Builder() .setName("People List Person 2") .setIcon(personIcon3) .build(); final Uri historyUri1 = Uri.parse("content://com.example/history1"); final Uri historyUri2 = Uri.parse("content://com.example/history2"); final RemoteInputHistoryItem historyItem1 = new RemoteInputHistoryItem(null, historyUri1, "a"); final RemoteInputHistoryItem historyItem2 = new RemoteInputHistoryItem(null, historyUri2, "b"); Bundle extras = new Bundle(); extras.putParcelable(Notification.EXTRA_AUDIO_CONTENTS_URI, audioContents); extras.putString(Notification.EXTRA_BACKGROUND_IMAGE_URI, backgroundImage.toString()); extras.putParcelable(Notification.EXTRA_MESSAGING_PERSON, person1); extras.putParcelableArrayList(Notification.EXTRA_PEOPLE_LIST, new ArrayList<>(Arrays.asList(person2, person3))); extras.putParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS, new RemoteInputHistoryItem[]{historyItem1, historyItem2}); Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") Loading @@ -4259,6 +4286,11 @@ 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(personIcon1.getUri())); verify(visitor, times(1)).accept(eq(personIcon2.getUri())); verify(visitor, times(1)).accept(eq(personIcon3.getUri())); verify(visitor, times(1)).accept(eq(historyUri1)); verify(visitor, times(1)).accept(eq(historyUri2)); } @Test Loading Loading
core/java/android/app/Notification.java +11 −0 Original line number Diff line number Diff line Loading @@ -2510,6 +2510,17 @@ public class Notification implements Parcelable if (person != null && person.getIconUri() != null) { visitor.accept(person.getIconUri()); } final RemoteInputHistoryItem[] history = (RemoteInputHistoryItem[]) extras.getParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS); if (history != null) { for (int i = 0; i < history.length; i++) { RemoteInputHistoryItem item = history[i]; if (item.getUri() != null) { visitor.accept(item.getUri()); } } } } if (MessagingStyle.class.equals(getNotificationStyle()) && extras != null) { Loading
services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +32 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Person; import android.app.RemoteInput; import android.app.RemoteInputHistoryItem; import android.app.StatsManager; import android.app.admin.DevicePolicyManagerInternal; import android.app.usage.UsageStatsManagerInternal; Loading Loading @@ -4244,10 +4245,36 @@ 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 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") .setIcon(personIcon1) .build(); final Person person2 = new Person.Builder() .setName("People List Person 1") .setIcon(personIcon2) .build(); final Person person3 = new Person.Builder() .setName("People List Person 2") .setIcon(personIcon3) .build(); final Uri historyUri1 = Uri.parse("content://com.example/history1"); final Uri historyUri2 = Uri.parse("content://com.example/history2"); final RemoteInputHistoryItem historyItem1 = new RemoteInputHistoryItem(null, historyUri1, "a"); final RemoteInputHistoryItem historyItem2 = new RemoteInputHistoryItem(null, historyUri2, "b"); Bundle extras = new Bundle(); extras.putParcelable(Notification.EXTRA_AUDIO_CONTENTS_URI, audioContents); extras.putString(Notification.EXTRA_BACKGROUND_IMAGE_URI, backgroundImage.toString()); extras.putParcelable(Notification.EXTRA_MESSAGING_PERSON, person1); extras.putParcelableArrayList(Notification.EXTRA_PEOPLE_LIST, new ArrayList<>(Arrays.asList(person2, person3))); extras.putParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS, new RemoteInputHistoryItem[]{historyItem1, historyItem2}); Notification n = new Notification.Builder(mContext, "a") .setContentTitle("notification with uris") Loading @@ -4259,6 +4286,11 @@ 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(personIcon1.getUri())); verify(visitor, times(1)).accept(eq(personIcon2.getUri())); verify(visitor, times(1)).accept(eq(personIcon3.getUri())); verify(visitor, times(1)).accept(eq(historyUri1)); verify(visitor, times(1)).accept(eq(historyUri2)); } @Test Loading