diff options
| author | 2023-06-09 22:41:36 +0000 | |
|---|---|---|
| committer | 2023-06-09 22:41:36 +0000 | |
| commit | 6bdfe50e5c9394ba67810f5d3d405e581cacd418 (patch) | |
| tree | 938a73bdead521f2475bcaaf74958089901524f0 | |
| parent | 6470312fcf2909c19467b0e111c2d72a9ac4f950 (diff) | |
| parent | 0ab1c83c1c04b8b0249881b4a51cdd495aeec730 (diff) | |
Merge "Prevent race condition" into udc-dev am: 0ab1c83c1c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23623639
Change-Id: I42d10b29dd3ea37770c3d7cfcf2f85889c30e278
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/am/ServiceRecord.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java index 0f5defbef919..50fe6d71d26e 100644 --- a/services/core/java/com/android/server/am/ServiceRecord.java +++ b/services/core/java/com/android/server/am/ServiceRecord.java @@ -1076,12 +1076,13 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN if (app == null) { return; } - if (mBackgroundStartPrivilegesByStartMerged.allowsAny() - || mIsAllowedBgActivityStartsByBinding) { + BackgroundStartPrivileges backgroundStartPrivileges = + getBackgroundStartPrivilegesWithExclusiveToken(); + if (backgroundStartPrivileges.allowsAny()) { // if the token is already there it's safe to "re-add it" - we're dealing with // a set of Binder objects app.addOrUpdateBackgroundStartPrivileges(this, - getBackgroundStartPrivilegesWithExclusiveToken()); + backgroundStartPrivileges); } else { app.removeBackgroundStartPrivileges(this); } |