diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-05-26 19:53:34 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-05-26 19:53:34 +0000 |
| commit | 9cb2bb4e2a32aa0eaecf7c5f3e0d91ce5152cdfe (patch) | |
| tree | bc91ce7cdfda4a1db8d55200dcc7d331af1d6bc1 /core/java/android | |
| parent | 57c642122cd9a46e3dd3e929699e5efbe6d6b231 (diff) | |
| parent | e5a896d56a10adec386a3c7213b6f5627cc6bfaa (diff) | |
Merge "Add hidden flag for allowing system app to use BAL permission to launch pending intent in background" into tm-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ComponentOptions.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/core/java/android/app/ComponentOptions.java b/core/java/android/app/ComponentOptions.java index d50a73a1f4c2..58732f015318 100644 --- a/core/java/android/app/ComponentOptions.java +++ b/core/java/android/app/ComponentOptions.java @@ -38,7 +38,15 @@ public class ComponentOptions { public static final String KEY_PENDING_INTENT_BACKGROUND_ACTIVITY_ALLOWED = "android.pendingIntent.backgroundActivityAllowed"; + /** + * PendingIntent caller allows activity to be started if caller has BAL permission. + * @hide + */ + public static final String KEY_PENDING_INTENT_BACKGROUND_ACTIVITY_ALLOWED_BY_PERMISSION = + "android.pendingIntent.backgroundActivityAllowedByPermission"; + private boolean mPendingIntentBalAllowed = PENDING_INTENT_BAL_ALLOWED_DEFAULT; + private boolean mPendingIntentBalAllowedByPermission = false; ComponentOptions() { } @@ -50,6 +58,9 @@ public class ComponentOptions { setPendingIntentBackgroundActivityLaunchAllowed( opts.getBoolean(KEY_PENDING_INTENT_BACKGROUND_ACTIVITY_ALLOWED, PENDING_INTENT_BAL_ALLOWED_DEFAULT)); + setPendingIntentBackgroundActivityLaunchAllowedByPermission( + opts.getBoolean(KEY_PENDING_INTENT_BACKGROUND_ACTIVITY_ALLOWED_BY_PERMISSION, + false)); } /** @@ -68,9 +79,28 @@ public class ComponentOptions { return mPendingIntentBalAllowed; } + /** + * Set PendingIntent activity can be launched from background if caller has BAL permission. + * @hide + */ + public void setPendingIntentBackgroundActivityLaunchAllowedByPermission(boolean allowed) { + mPendingIntentBalAllowedByPermission = allowed; + } + + /** + * Get PendingIntent activity is allowed to be started in the background if the caller + * has BAL permission. + * @hide + */ + public boolean isPendingIntentBackgroundActivityLaunchAllowedByPermission() { + return mPendingIntentBalAllowedByPermission; + } + public Bundle toBundle() { Bundle b = new Bundle(); b.putBoolean(KEY_PENDING_INTENT_BACKGROUND_ACTIVITY_ALLOWED, mPendingIntentBalAllowed); + b.putBoolean(KEY_PENDING_INTENT_BACKGROUND_ACTIVITY_ALLOWED_BY_PERMISSION, + mPendingIntentBalAllowedByPermission); return b; } } |
