Merge "Check URIs in notification public version." into rvc-dev

This commit is contained in:
Ioana Alexandru
2023-05-26 11:55:36 +00:00
committed by Android (Google) Code Review
2 changed files with 24 additions and 0 deletions

View File

@@ -2492,6 +2492,10 @@ public class Notification implements Parcelable
* @hide
*/
public void visitUris(@NonNull Consumer<Uri> visitor) {
if (publicVersion != null) {
publicVersion.visitUris(visitor);
}
visitor.accept(sound);
if (tickerView != null) tickerView.visitUris(visitor);

View File

@@ -4298,6 +4298,26 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
verify(visitor, times(1)).accept(eq(historyUri2));
}
@Test
public void testVisitUris_publicVersion() throws Exception {
final Icon smallIconPublic = Icon.createWithContentUri("content://media/small/icon");
final Icon largeIconPrivate = Icon.createWithContentUri("content://media/large/icon");
Notification publicVersion = new Notification.Builder(mContext, "a")
.setContentTitle("notification with uris")
.setSmallIcon(smallIconPublic)
.build();
Notification n = new Notification.Builder(mContext, "a")
.setLargeIcon(largeIconPrivate)
.setPublicVersion(publicVersion)
.build();
Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class);
n.visitUris(visitor);
verify(visitor, times(1)).accept(eq(smallIconPublic.getUri()));
verify(visitor, times(1)).accept(eq(largeIconPrivate.getUri()));
}
@Test
public void testVisitUris_messagingStyle() {
final Icon personIcon1 = Icon.createWithContentUri("content://media/person1");