Loading core/java/android/widget/RemoteViews.java +5 −0 Original line number Diff line number Diff line Loading @@ -707,6 +707,11 @@ public class RemoteViews implements Parcelable, Filter { mActions.get(i).visitUris(visitor); } } if (mSizedRemoteViews != null) { for (int i = 0; i < mSizedRemoteViews.size(); i++) { mSizedRemoteViews.get(i).visitUris(visitor); } } if (mLandscape != null) { mLandscape.visitUris(visitor); } Loading core/tests/coretests/src/android/widget/RemoteViewsTest.java +41 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Binder; import android.os.Parcel; import android.util.SizeF; import android.view.View; import android.view.ViewGroup; Loading @@ -55,6 +56,7 @@ import org.junit.runner.RunWith; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.concurrent.CountDownLatch; import java.util.function.Consumer; Loading Loading @@ -587,4 +589,43 @@ public class RemoteViewsTest { verify(visitor, times(1)).accept(eq(icon3P.getUri())); verify(visitor, times(1)).accept(eq(icon4P.getUri())); } @Test public void visitUris_sizedViews() { final RemoteViews large = new RemoteViews(mPackage, R.layout.remote_views_test); final Uri imageUriL = Uri.parse("content://large/image"); final Icon icon1L = Icon.createWithContentUri("content://large/icon1"); final Icon icon2L = Icon.createWithContentUri("content://large/icon2"); final Icon icon3L = Icon.createWithContentUri("content://large/icon3"); final Icon icon4L = Icon.createWithContentUri("content://large/icon4"); large.setImageViewUri(R.id.image, imageUriL); large.setTextViewCompoundDrawables(R.id.text, icon1L, icon2L, icon3L, icon4L); final RemoteViews small = new RemoteViews(mPackage, 33); final Uri imageUriS = Uri.parse("content://small/image"); final Icon icon1S = Icon.createWithContentUri("content://small/icon1"); final Icon icon2S = Icon.createWithContentUri("content://small/icon2"); final Icon icon3S = Icon.createWithContentUri("content://small/icon3"); final Icon icon4S = Icon.createWithContentUri("content://small/icon4"); small.setImageViewUri(R.id.image, imageUriS); small.setTextViewCompoundDrawables(R.id.text, icon1S, icon2S, icon3S, icon4S); HashMap<SizeF, RemoteViews> sizedViews = new HashMap<>(); sizedViews.put(new SizeF(300, 300), large); sizedViews.put(new SizeF(100, 100), small); RemoteViews views = new RemoteViews(sizedViews); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); views.visitUris(visitor); verify(visitor, times(1)).accept(eq(imageUriL)); verify(visitor, times(1)).accept(eq(icon1L.getUri())); verify(visitor, times(1)).accept(eq(icon2L.getUri())); verify(visitor, times(1)).accept(eq(icon3L.getUri())); verify(visitor, times(1)).accept(eq(icon4L.getUri())); verify(visitor, times(1)).accept(eq(imageUriS)); verify(visitor, times(1)).accept(eq(icon1S.getUri())); verify(visitor, times(1)).accept(eq(icon2S.getUri())); verify(visitor, times(1)).accept(eq(icon3S.getUri())); verify(visitor, times(1)).accept(eq(icon4S.getUri())); } } Loading
core/java/android/widget/RemoteViews.java +5 −0 Original line number Diff line number Diff line Loading @@ -707,6 +707,11 @@ public class RemoteViews implements Parcelable, Filter { mActions.get(i).visitUris(visitor); } } if (mSizedRemoteViews != null) { for (int i = 0; i < mSizedRemoteViews.size(); i++) { mSizedRemoteViews.get(i).visitUris(visitor); } } if (mLandscape != null) { mLandscape.visitUris(visitor); } Loading
core/tests/coretests/src/android/widget/RemoteViewsTest.java +41 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Binder; import android.os.Parcel; import android.util.SizeF; import android.view.View; import android.view.ViewGroup; Loading @@ -55,6 +56,7 @@ import org.junit.runner.RunWith; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.concurrent.CountDownLatch; import java.util.function.Consumer; Loading Loading @@ -587,4 +589,43 @@ public class RemoteViewsTest { verify(visitor, times(1)).accept(eq(icon3P.getUri())); verify(visitor, times(1)).accept(eq(icon4P.getUri())); } @Test public void visitUris_sizedViews() { final RemoteViews large = new RemoteViews(mPackage, R.layout.remote_views_test); final Uri imageUriL = Uri.parse("content://large/image"); final Icon icon1L = Icon.createWithContentUri("content://large/icon1"); final Icon icon2L = Icon.createWithContentUri("content://large/icon2"); final Icon icon3L = Icon.createWithContentUri("content://large/icon3"); final Icon icon4L = Icon.createWithContentUri("content://large/icon4"); large.setImageViewUri(R.id.image, imageUriL); large.setTextViewCompoundDrawables(R.id.text, icon1L, icon2L, icon3L, icon4L); final RemoteViews small = new RemoteViews(mPackage, 33); final Uri imageUriS = Uri.parse("content://small/image"); final Icon icon1S = Icon.createWithContentUri("content://small/icon1"); final Icon icon2S = Icon.createWithContentUri("content://small/icon2"); final Icon icon3S = Icon.createWithContentUri("content://small/icon3"); final Icon icon4S = Icon.createWithContentUri("content://small/icon4"); small.setImageViewUri(R.id.image, imageUriS); small.setTextViewCompoundDrawables(R.id.text, icon1S, icon2S, icon3S, icon4S); HashMap<SizeF, RemoteViews> sizedViews = new HashMap<>(); sizedViews.put(new SizeF(300, 300), large); sizedViews.put(new SizeF(100, 100), small); RemoteViews views = new RemoteViews(sizedViews); Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class); views.visitUris(visitor); verify(visitor, times(1)).accept(eq(imageUriL)); verify(visitor, times(1)).accept(eq(icon1L.getUri())); verify(visitor, times(1)).accept(eq(icon2L.getUri())); verify(visitor, times(1)).accept(eq(icon3L.getUri())); verify(visitor, times(1)).accept(eq(icon4L.getUri())); verify(visitor, times(1)).accept(eq(imageUriS)); verify(visitor, times(1)).accept(eq(icon1S.getUri())); verify(visitor, times(1)).accept(eq(icon2S.getUri())); verify(visitor, times(1)).accept(eq(icon3S.getUri())); verify(visitor, times(1)).accept(eq(icon4S.getUri())); } }