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 0e1ebd84e2
commit 67cd169d07
2 changed files with 24 additions and 0 deletions

View File

@@ -2753,6 +2753,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

@@ -4372,6 +4372,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_audioContentsString() throws Exception {
final Uri audioContents = Uri.parse("content://com.example/audio");