Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68e8db31 authored by Ioana Alexandru's avatar Ioana Alexandru Committed by Android (Google) Code Review
Browse files

Merge "Visit URIs in themed remoteviews icons." into udc-dev

parents 9aad77c5 123df090
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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);
@@ -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);
            }
        }
    }

    /**
+13 −0
Original line number Diff line number Diff line
@@ -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);
+0 −1
Original line number Diff line number Diff line
@@ -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