Merge "Ensure that only SysUI can override pending intent launch flags" into qt-dev am: c741c6211c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20219552 Change-Id: Idfd4de223a64d7b8008e2dd09a903f58169c0c44 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -317,11 +317,16 @@ public final class PendingIntentRecord extends IIntentSender.Stub {
|
||||
resolvedType = key.requestResolvedType;
|
||||
}
|
||||
|
||||
// Apply any launch flags from the ActivityOptions. This is to ensure that the caller
|
||||
// can specify a consistent launch mode even if the PendingIntent is immutable
|
||||
// Apply any launch flags from the ActivityOptions. This is used only by SystemUI
|
||||
// to ensure that we can launch the pending intent with a consistent launch mode even
|
||||
// if the provided PendingIntent is immutable (ie. to force an activity to launch into
|
||||
// a new task, or to launch multiple instances if supported by the app)
|
||||
final ActivityOptions opts = ActivityOptions.fromBundle(options);
|
||||
if (opts != null) {
|
||||
finalIntent.addFlags(opts.getPendingIntentLaunchFlags());
|
||||
// TODO(b/254490217): Move this check into SafeActivityOptions
|
||||
if (controller.mAtmInternal.isCallerRecents(Binder.getCallingUid())) {
|
||||
finalIntent.addFlags(opts.getPendingIntentLaunchFlags());
|
||||
}
|
||||
}
|
||||
|
||||
// Extract options before clearing calling identity
|
||||
|
||||
Reference in New Issue
Block a user