Merge "Don't allow PI crashes on unknown sender types" into sc-dev am: e0c972a2be

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

Change-Id: Iee98ce7d29eba4ae3c484a5d14297522b11db103
This commit is contained in:
TreeHugger Robot
2021-07-15 03:25:01 +00:00
committed by Automerger Merge Worker
2 changed files with 10 additions and 3 deletions

View File

@@ -405,6 +405,12 @@ public class ActivityManager {
*/ */
public static final int BROADCAST_FAILED_USER_STOPPED = -2; public static final int BROADCAST_FAILED_USER_STOPPED = -2;
/**
* Type for IActivityManaqer.getIntentSender: this PendingIntent type is unknown.
* @hide
*/
public static final int INTENT_SENDER_UNKNOWN = 0;
/** /**
* Type for IActivityManaqer.getIntentSender: this PendingIntent is * Type for IActivityManaqer.getIntentSender: this PendingIntent is
* for a sendBroadcast operation. * for a sendBroadcast operation.
@@ -4860,12 +4866,12 @@ public class ActivityManager {
*/ */
public static final class PendingIntentInfo implements Parcelable { public static final class PendingIntentInfo implements Parcelable {
private final String mCreatorPackage; @Nullable private final String mCreatorPackage;
private final int mCreatorUid; private final int mCreatorUid;
private final boolean mImmutable; private final boolean mImmutable;
private final int mIntentSenderType; private final int mIntentSenderType;
public PendingIntentInfo(String creatorPackage, int creatorUid, boolean immutable, public PendingIntentInfo(@Nullable String creatorPackage, int creatorUid, boolean immutable,
int intentSenderType) { int intentSenderType) {
mCreatorPackage = creatorPackage; mCreatorPackage = creatorPackage;
mCreatorUid = creatorUid; mCreatorUid = creatorUid;
@@ -4873,6 +4879,7 @@ public class ActivityManager {
mIntentSenderType = intentSenderType; mIntentSenderType = intentSenderType;
} }
@Nullable
public String getCreatorPackage() { public String getCreatorPackage() {
return mCreatorPackage; return mCreatorPackage;
} }

View File

@@ -5009,7 +5009,7 @@ public class ActivityManagerService extends IActivityManager.Stub
(res.key.flags & PendingIntent.FLAG_IMMUTABLE) != 0, (res.key.flags & PendingIntent.FLAG_IMMUTABLE) != 0,
res.key.type); res.key.type);
} else { } else {
throw new IllegalArgumentException(); return new PendingIntentInfo(null, -1, false, ActivityManager.INTENT_SENDER_UNKNOWN);
} }
} }