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

Commit c0a3fa5f authored by Mady Mellor's avatar Mady Mellor Committed by Automerger Merge Worker
Browse files

Merge "Re-add checks for mutable intents on bubbles" into sc-dev am: f8218030

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

Change-Id: Ibc1f94b5c03fe067befbdcce60832ab7d20ccdf3
parents 3eac9918 f8218030
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -10159,6 +10159,8 @@ public class Notification implements Parcelable
             * {@link Activity#isLaunchedFromBubble()} will return with {@code true}.
             * </p>
             *
             * Note that the pending intent used here requires PendingIntent.FLAG_MUTABLE.
             *
             * @throws NullPointerException if intent is null.
             * @throws NullPointerException if icon is null.
             */
+2 −3
Original line number Diff line number Diff line
@@ -6579,15 +6579,14 @@ public class NotificationManagerService extends SystemService {
        }

        // bubble or inline reply that's immutable?
        // TODO (b/171418004): renable after app outreach
        /*if (n.getBubbleMetadata() != null
        if (n.getBubbleMetadata() != null
                && n.getBubbleMetadata().getIntent() != null
                && hasFlag(mAmi.getPendingIntentFlags(
                        n.getBubbleMetadata().getIntent().getTarget()),
                        PendingIntent.FLAG_IMMUTABLE)) {
            throw new IllegalArgumentException(r.getKey() + " Not posted."
                    + " PendingIntents attached to bubbles must be mutable");
        }*/
        }

        if (n.actions != null) {
            for (Notification.Action action : n.actions) {
+2 −3
Original line number Diff line number Diff line
@@ -7811,8 +7811,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
        inOrder.verify(child).recordDismissalSentiment(anyInt());
    }

    // TODO (b/171418004): renable after app outreach
    /*@Test
    @Test
    public void testImmutableBubbleIntent() throws Exception {
        when(mAmi.getPendingIntentFlags(pi1))
                .thenReturn(FLAG_IMMUTABLE | FLAG_ONE_SHOT);
@@ -7827,7 +7826,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
        } catch (IllegalArgumentException e) {
            // good
        }
    }*/
    }

    @Test
    public void testMutableBubbleIntent() throws Exception {