Visit URIs in themed remoteviews icons.
Bug: 281018094 Test: atest RemoteViewsTest NotificationVisitUrisTest Change-Id: I2014bf21cf90267f7f1b3f370bf00ab7001b064e
This commit is contained in:
@@ -1850,7 +1850,7 @@ public class RemoteViews implements Parcelable, Filter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final void visitUris(@NonNull Consumer<Uri> visitor) {
|
public void visitUris(@NonNull Consumer<Uri> visitor) {
|
||||||
switch (this.type) {
|
switch (this.type) {
|
||||||
case URI:
|
case URI:
|
||||||
final Uri uri = (Uri) getParameterValue(null);
|
final Uri uri = (Uri) getParameterValue(null);
|
||||||
@@ -2313,6 +2313,14 @@ public class RemoteViews implements Parcelable, Filter {
|
|||||||
public int getActionTag() {
|
public int getActionTag() {
|
||||||
return NIGHT_MODE_REFLECTION_ACTION_TAG;
|
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()));
|
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
|
@Test
|
||||||
public void visitUris_nestedViews() {
|
public void visitUris_nestedViews() {
|
||||||
final RemoteViews outer = new RemoteViews(mPackage, R.layout.remote_views_test);
|
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.
|
// This list should be emptied! Items can be removed as bugs are fixed.
|
||||||
private static final Multimap<Class<?>, String> KNOWN_BAD =
|
private static final Multimap<Class<?>, String> KNOWN_BAD =
|
||||||
ImmutableMultimap.<Class<?>, String>builder()
|
ImmutableMultimap.<Class<?>, String>builder()
|
||||||
.put(RemoteViews.class, "setIcon") // b/281018094
|
|
||||||
.put(Notification.WearableExtender.class, "addAction") // TODO: b/281044385
|
.put(Notification.WearableExtender.class, "addAction") // TODO: b/281044385
|
||||||
.put(Person.Builder.class, "setUri") // TODO: b/281044385
|
.put(Person.Builder.class, "setUri") // TODO: b/281044385
|
||||||
.put(RemoteViews.class, "setRemoteAdapter") // TODO: b/281044385
|
.put(RemoteViews.class, "setRemoteAdapter") // TODO: b/281044385
|
||||||
|
|||||||
Reference in New Issue
Block a user