Check URIs in notification public version.

Bug: 276294099
Test: atest NotificationManagerServiceTest NotificationVisitUrisTest
Change-Id: I670198b213abb2cb29a9865eb9d1e897700508b4
Merged-In: I670198b213abb2cb29a9865eb9d1e897700508b4
This commit is contained in:
Ioana Alexandru
2023-05-15 16:15:55 +00:00
parent 71e7d4129d
commit 9663d49314
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");