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