Merge "Visit URIs in themed remoteviews icons." into sc-dev am: ee97e94714

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23430378

Change-Id: I0fbabf1e8d35f54ddf92a13792b80a61380187d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-05-30 21:03:25 +00:00
committed by Automerger Merge Worker
2 changed files with 22 additions and 1 deletions

View File

@@ -1759,7 +1759,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);
@@ -2211,6 +2211,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);
}
}
}
/**

View File

@@ -530,6 +530,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);