Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2186ce52 authored by Matías Hernández's avatar Matías Hernández Committed by Presubmit Automerger Backend
Browse files

[automerge] Grant URI permissions to the CallStyle-related ones 2p: 4dee5aab

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

Change-Id: Ia9659ef4fcc0bf021530e79d93131126fb6e4468
parents d89471ec 4dee5aab
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2837,6 +2837,14 @@ public class Notification implements Parcelable
            }
        }

        if (isStyle(CallStyle.class) & extras != null) {
            Person callPerson = extras.getParcelable(EXTRA_CALL_PERSON);
            if (callPerson != null) {
                visitor.accept(callPerson.getIconUri());
            }
            visitIconUri(visitor, extras.getParcelable(EXTRA_VERIFICATION_ICON));
        }

        if (mBubbleMetadata != null) {
            visitIconUri(visitor, mBubbleMetadata.getIcon());
        }
+23 −0
Original line number Diff line number Diff line
@@ -4445,6 +4445,29 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
        verify(visitor, times(1)).accept(eq(backgroundImage));
    }

    @Test
    public void testVisitUris_callStyle() {
        Icon personIcon = Icon.createWithContentUri("content://media/person");
        Icon verificationIcon = Icon.createWithContentUri("content://media/verification");
        Person callingPerson = new Person.Builder().setName("Someone")
                .setIcon(personIcon)
                .build();
        PendingIntent hangUpIntent = PendingIntent.getActivity(mContext, 0, new Intent(),
                PendingIntent.FLAG_IMMUTABLE);
        Notification n = new Notification.Builder(mContext, "a")
                .setStyle(Notification.CallStyle.forOngoingCall(callingPerson, hangUpIntent)
                        .setVerificationIcon(verificationIcon))
                .setContentTitle("Calling...")
                .setSmallIcon(android.R.drawable.sym_def_app_icon)
                .build();

        Consumer<Uri> visitor = (Consumer<Uri>) spy(Consumer.class);
        n.visitUris(visitor);

        verify(visitor, times(1)).accept(eq(personIcon.getUri()));
        verify(visitor, times(1)).accept(eq(verificationIcon.getUri()));
    }

    @Test
    public void testVisitUris_audioContentsString() throws Exception {
        final Uri audioContents = Uri.parse("content://com.example/audio");