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

Commit cfe33ba6 authored by Ioana Alexandru's avatar Ioana Alexandru Committed by Automerger Merge Worker
Browse files

Merge "Visit URIs in themed remoteviews icons." into udc-dev am: 68e8db31

parents a4408ff8 68e8db31
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