Merge "Visit URIs in themed remoteviews icons." into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
68e8db316b
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user