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

Commit 127e4974 authored by Ashwini Oruganti's avatar Ashwini Oruganti
Browse files

Update docs to hint when to use FLAG_MUTABLE

Any PI that needs to be used with inline reply or bubbles needs to keep
their PI mutable. This change updates the messaging around FLAG_MUTABLE
docs and logs at the mutability flag check to add this use
case.

Bug: 160794467
Test: docs change, green builds
Change-Id: I641b35f92de5843be2fad3ef4621ffc9c6456899
parent 46c6d727
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -199,7 +199,8 @@ public final class PendingIntent implements Parcelable {
     * either (@link #FLAG_IMMUTABLE} or {@link #FLAG_MUTABLE}. It is strongly
     * recommended to use {@link #FLAG_IMMUTABLE} when creating a
     * PendingIntent. {@link #FLAG_MUTABLE} should only be used when some
     * functionality relies on modifying the underlying intent.
     * functionality relies on modifying the underlying intent, e.g. any
     * PendingIntent that needs to be used with inline reply or bubbles.
     */
    public static final int FLAG_MUTABLE = 1<<25;

@@ -320,7 +321,10 @@ public final class PendingIntent implements Parcelable {
        final boolean flagMutableSet = (flags & PendingIntent.FLAG_MUTABLE) != 0;
        String msg = packageName + ": Targeting S+ (version " + Build.VERSION_CODES.S
                    + " and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE"
                    + " be specified when creating a PendingIntent";
                    + " be specified when creating a PendingIntent.\nStrongly consider"
                    + " using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality"
                    + " depends on the PendingIntent being mutable, e.g. if it needs to"
                    + " be used with inline replies or bubbles.";

        if (flagImmutableSet && flagMutableSet) {
            throw new IllegalArgumentException(