Merge "Implement visitUris for RemoteViews ViewGroupActionAdd." into udc-dev

This commit is contained in:
Ioana Alexandru
2023-05-23 12:56:32 +00:00
committed by Android (Google) Code Review
3 changed files with 29 additions and 1 deletions

View File

@@ -2598,6 +2598,11 @@ public class RemoteViews implements Parcelable, Filter {
public int getActionTag() {
return VIEW_GROUP_ACTION_ADD_TAG;
}
@Override
public final void visitUris(@NonNull Consumer<Uri> visitor) {
mNestedViews.visitUris(visitor);
}
}
/**

View File

@@ -715,6 +715,30 @@ public class RemoteViewsTest {
verify(visitor, times(1)).accept(eq(icon4.getUri()));
}
@Test
public void visitUris_nestedViews() {
final RemoteViews outer = new RemoteViews(mPackage, R.layout.remote_views_test);
final RemoteViews inner = new RemoteViews(mPackage, 33);
final Uri imageUriI = Uri.parse("content://inner/image");
final Icon icon1 = Icon.createWithContentUri("content://inner/icon1");
final Icon icon2 = Icon.createWithContentUri("content://inner/icon2");
final Icon icon3 = Icon.createWithContentUri("content://inner/icon3");
final Icon icon4 = Icon.createWithContentUri("content://inner/icon4");
inner.setImageViewUri(R.id.image, imageUriI);
inner.setTextViewCompoundDrawables(R.id.text, icon1, icon2, icon3, icon4);
outer.addView(R.id.layout, inner);
Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class);
outer.visitUris(visitor);
verify(visitor, times(1)).accept(eq(imageUriI));
verify(visitor, times(1)).accept(eq(icon1.getUri()));
verify(visitor, times(1)).accept(eq(icon2.getUri()));
verify(visitor, times(1)).accept(eq(icon3.getUri()));
verify(visitor, times(1)).accept(eq(icon4.getUri()));
}
@Test
public void visitUris_separateOrientation() {
final RemoteViews landscape = new RemoteViews(mPackage, R.layout.remote_views_test);

View File

@@ -88,7 +88,6 @@ public class NotificationVisitUrisTest extends UiServiceTestCase {
private static final Multimap<Class<?>, String> KNOWN_BAD =
ImmutableMultimap.<Class<?>, String>builder()
.put(Notification.Builder.class, "setPublicVersion") // b/276294099
.putAll(RemoteViews.class, "addView", "addStableView") // b/277740082
.put(RemoteViews.class, "setIcon") // b/281018094
.put(Notification.WearableExtender.class, "addAction") // TODO: b/281044385
.put(Person.Builder.class, "setUri") // TODO: b/281044385