Merge "Update docs to hint when to use FLAG_MUTABLE" am: e813b7e800

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

Change-Id: I2917f5862c42870c3b360eecfb1a0d0cf2532489
This commit is contained in:
Ashwini Oruganti
2020-09-29 22:14:52 +00:00
committed by Automerger Merge Worker

View File

@@ -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(