summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Achim Thesmann <achim@google.com> 2023-06-09 22:41:36 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-06-09 22:41:36 +0000
commit6bdfe50e5c9394ba67810f5d3d405e581cacd418 (patch)
tree938a73bdead521f2475bcaaf74958089901524f0
parent6470312fcf2909c19467b0e111c2d72a9ac4f950 (diff)
parent0ab1c83c1c04b8b0249881b4a51cdd495aeec730 (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.java7
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);
}