Loading core/java/android/app/Notification.java +16 −1 Original line number Diff line number Diff line Loading @@ -1831,6 +1831,10 @@ public class Notification implements Parcelable } } private void visitUris(@NonNull Consumer<Uri> visitor) { visitIconUri(visitor, getIcon()); } @Override public Action clone() { return new Action( Loading Loading @@ -2508,7 +2512,7 @@ public class Notification implements Parcelable if (actions != null) { for (Action action : actions) { visitIconUri(visitor, action.getIcon()); action.visitUris(visitor); } } Loading Loading @@ -2579,6 +2583,11 @@ public class Notification implements Parcelable if (mBubbleMetadata != null) { visitIconUri(visitor, mBubbleMetadata.getIcon()); } if (extras != null && extras.containsKey(WearableExtender.EXTRA_WEARABLE_EXTENSIONS)) { WearableExtender extender = new WearableExtender(this); extender.visitUris(visitor); } } /** Loading Loading @@ -10289,6 +10298,12 @@ public class Notification implements Parcelable mFlags &= ~mask; } } private void visitUris(@NonNull Consumer<Uri> visitor) { for (Action action : mActions) { action.visitUris(visitor); } } } /** Loading services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -4397,6 +4397,26 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(visitor, times(1)).accept(eq(personIcon3.getUri())); } @Test public void testVisitUris_wearableExtender() { Icon actionIcon = Icon.createWithContentUri("content://media/action"); Icon wearActionIcon = Icon.createWithContentUri("content://media/wearAction"); PendingIntent intent = PendingIntent.getActivity(mContext, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE); Notification n = new Notification.Builder(mContext, "a") .setSmallIcon(android.R.drawable.sym_def_app_icon) .addAction(new Notification.Action.Builder(actionIcon, "Hey!", intent).build()) .extend(new Notification.WearableExtender().addAction( new Notification.Action.Builder(wearActionIcon, "Wear!", intent).build())) .build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor).accept(eq(actionIcon.getUri())); verify(visitor).accept(eq(wearActionIcon.getUri())); } @Test public void testSetNotificationPolicy_preP_setOldFields() { ZenModeHelper mZenModeHelper = mock(ZenModeHelper.class); Loading Loading
core/java/android/app/Notification.java +16 −1 Original line number Diff line number Diff line Loading @@ -1831,6 +1831,10 @@ public class Notification implements Parcelable } } private void visitUris(@NonNull Consumer<Uri> visitor) { visitIconUri(visitor, getIcon()); } @Override public Action clone() { return new Action( Loading Loading @@ -2508,7 +2512,7 @@ public class Notification implements Parcelable if (actions != null) { for (Action action : actions) { visitIconUri(visitor, action.getIcon()); action.visitUris(visitor); } } Loading Loading @@ -2579,6 +2583,11 @@ public class Notification implements Parcelable if (mBubbleMetadata != null) { visitIconUri(visitor, mBubbleMetadata.getIcon()); } if (extras != null && extras.containsKey(WearableExtender.EXTRA_WEARABLE_EXTENSIONS)) { WearableExtender extender = new WearableExtender(this); extender.visitUris(visitor); } } /** Loading Loading @@ -10289,6 +10298,12 @@ public class Notification implements Parcelable mFlags &= ~mask; } } private void visitUris(@NonNull Consumer<Uri> visitor) { for (Action action : mActions) { action.visitUris(visitor); } } } /** Loading
services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -4397,6 +4397,26 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { verify(visitor, times(1)).accept(eq(personIcon3.getUri())); } @Test public void testVisitUris_wearableExtender() { Icon actionIcon = Icon.createWithContentUri("content://media/action"); Icon wearActionIcon = Icon.createWithContentUri("content://media/wearAction"); PendingIntent intent = PendingIntent.getActivity(mContext, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE); Notification n = new Notification.Builder(mContext, "a") .setSmallIcon(android.R.drawable.sym_def_app_icon) .addAction(new Notification.Action.Builder(actionIcon, "Hey!", intent).build()) .extend(new Notification.WearableExtender().addAction( new Notification.Action.Builder(wearActionIcon, "Wear!", intent).build())) .build(); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); n.visitUris(visitor); verify(visitor).accept(eq(actionIcon.getUri())); verify(visitor).accept(eq(wearActionIcon.getUri())); } @Test public void testSetNotificationPolicy_preP_setOldFields() { ZenModeHelper mZenModeHelper = mock(ZenModeHelper.class); Loading