Loading core/java/android/widget/RemoteViews.java +9 −1 Original line number Diff line number Diff line Loading @@ -1850,7 +1850,7 @@ public class RemoteViews implements Parcelable, Filter { } @Override public final void visitUris(@NonNull Consumer<Uri> visitor) { public void visitUris(@NonNull Consumer<Uri> visitor) { switch (this.type) { case URI: final Uri uri = (Uri) getParameterValue(null); Loading Loading @@ -2313,6 +2313,14 @@ public class RemoteViews implements Parcelable, Filter { public int getActionTag() { return NIGHT_MODE_REFLECTION_ACTION_TAG; } @Override public void visitUris(@NonNull Consumer<Uri> visitor) { if (this.type == ICON) { visitIconUri((Icon) mDarkValue, visitor); visitIconUri((Icon) mLightValue, visitor); } } } /** Loading core/tests/coretests/src/android/widget/RemoteViewsTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -716,6 +716,19 @@ public class RemoteViewsTest { verify(visitor, times(1)).accept(eq(icon4.getUri())); } @Test public void visitUris_themedIcons() { RemoteViews views = new RemoteViews(mPackage, R.layout.remote_views_test); final Icon iconLight = Icon.createWithContentUri("content://light/icon"); final Icon iconDark = Icon.createWithContentUri("content://dark/icon"); views.setIcon(R.id.layout, "setLargeIcon", iconLight, iconDark); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); views.visitUris(visitor); verify(visitor, times(1)).accept(eq(iconLight.getUri())); verify(visitor, times(1)).accept(eq(iconDark.getUri())); } @Test public void visitUris_nestedViews() { final RemoteViews outer = new RemoteViews(mPackage, R.layout.remote_views_test); Loading services/tests/uiservicestests/src/com/android/server/notification/NotificationVisitUrisTest.java +0 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,6 @@ public class NotificationVisitUrisTest extends UiServiceTestCase { // This list should be emptied! Items can be removed as bugs are fixed. private static final Multimap<Class<?>, String> KNOWN_BAD = ImmutableMultimap.<Class<?>, String>builder() .put(RemoteViews.class, "setIcon") // b/281018094 .put(Notification.WearableExtender.class, "addAction") // TODO: b/281044385 .put(Person.Builder.class, "setUri") // TODO: b/281044385 .put(RemoteViews.class, "setRemoteAdapter") // TODO: b/281044385 Loading Loading
core/java/android/widget/RemoteViews.java +9 −1 Original line number Diff line number Diff line Loading @@ -1850,7 +1850,7 @@ public class RemoteViews implements Parcelable, Filter { } @Override public final void visitUris(@NonNull Consumer<Uri> visitor) { public void visitUris(@NonNull Consumer<Uri> visitor) { switch (this.type) { case URI: final Uri uri = (Uri) getParameterValue(null); Loading Loading @@ -2313,6 +2313,14 @@ public class RemoteViews implements Parcelable, Filter { public int getActionTag() { return NIGHT_MODE_REFLECTION_ACTION_TAG; } @Override public void visitUris(@NonNull Consumer<Uri> visitor) { if (this.type == ICON) { visitIconUri((Icon) mDarkValue, visitor); visitIconUri((Icon) mLightValue, visitor); } } } /** Loading
core/tests/coretests/src/android/widget/RemoteViewsTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -716,6 +716,19 @@ public class RemoteViewsTest { verify(visitor, times(1)).accept(eq(icon4.getUri())); } @Test public void visitUris_themedIcons() { RemoteViews views = new RemoteViews(mPackage, R.layout.remote_views_test); final Icon iconLight = Icon.createWithContentUri("content://light/icon"); final Icon iconDark = Icon.createWithContentUri("content://dark/icon"); views.setIcon(R.id.layout, "setLargeIcon", iconLight, iconDark); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); views.visitUris(visitor); verify(visitor, times(1)).accept(eq(iconLight.getUri())); verify(visitor, times(1)).accept(eq(iconDark.getUri())); } @Test public void visitUris_nestedViews() { final RemoteViews outer = new RemoteViews(mPackage, R.layout.remote_views_test); Loading
services/tests/uiservicestests/src/com/android/server/notification/NotificationVisitUrisTest.java +0 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,6 @@ public class NotificationVisitUrisTest extends UiServiceTestCase { // This list should be emptied! Items can be removed as bugs are fixed. private static final Multimap<Class<?>, String> KNOWN_BAD = ImmutableMultimap.<Class<?>, String>builder() .put(RemoteViews.class, "setIcon") // b/281018094 .put(Notification.WearableExtender.class, "addAction") // TODO: b/281044385 .put(Person.Builder.class, "setUri") // TODO: b/281044385 .put(RemoteViews.class, "setRemoteAdapter") // TODO: b/281044385 Loading