diff options
| author | 2024-01-18 20:45:47 +0000 | |
|---|---|---|
| committer | 2024-01-18 20:45:47 +0000 | |
| commit | 0132c9a159c075a43141d350087402b5c5ceb199 (patch) | |
| tree | 352477c5fe47563b1ecc02d868c1aebedfecc875 | |
| parent | 2aafdfb55b7cacd4aa066bb0075970c31f1f8bf4 (diff) | |
| parent | 5de953a91afa44c89907827825d3f0e0d5242d86 (diff) | |
Merge "Feature Flag for restricting PendingIntents by same UID" into main
| -rw-r--r-- | core/java/android/window/flags/responsible_apis.aconfig | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/BackgroundActivityStartController.java | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/window/flags/responsible_apis.aconfig b/core/java/android/window/flags/responsible_apis.aconfig index ad0e9a487c53..f67eefa2281f 100644 --- a/core/java/android/window/flags/responsible_apis.aconfig +++ b/core/java/android/window/flags/responsible_apis.aconfig @@ -8,6 +8,13 @@ flag { } flag { + name: "bal_require_opt_in_same_uid" + namespace: "responsible_apis" + description: "Require the PendingIntent creator/sender to opt in if it is the same UID" + bug: "296478951" +} + +flag { name: "bal_dont_bring_existing_background_task_stack_to_fg" namespace: "responsible_apis" description: "When starting a PendingIntent with ONLY creator privileges, don't bring the existing task stack to foreground" diff --git a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java index 05241d1ad0b7..0f36d8eafbe4 100644 --- a/services/core/java/com/android/server/wm/BackgroundActivityStartController.java +++ b/services/core/java/com/android/server/wm/BackgroundActivityStartController.java @@ -35,6 +35,7 @@ import static com.android.server.wm.ActivityTaskManagerService.APP_SWITCH_ALLOW; import static com.android.server.wm.ActivityTaskManagerService.APP_SWITCH_FG_ONLY; import static com.android.server.wm.ActivityTaskSupervisor.getApplicationLabel; import static com.android.window.flags.Flags.balRequireOptInByPendingIntentCreator; +import static com.android.window.flags.Flags.balRequireOptInSameUid; import static com.android.window.flags.Flags.balShowToasts; import static com.android.window.flags.Flags.balShowToastsBlocked; import static com.android.server.wm.PendingRemoteAnimationRegistry.TIMEOUT_MS; @@ -277,6 +278,8 @@ public class BackgroundActivityStartController { mAutoOptInReason = "notPendingIntent"; } else if (balRequireOptInByPendingIntentCreator() && mIsCallForResult) { mAutoOptInReason = "callForResult"; + } else if (callingUid == realCallingUid && !balRequireOptInSameUid()) { + mAutoOptInReason = "sameUid"; } else { mAutoOptInReason = null; } |