summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Achim Thesmann <achim@google.com> 2023-06-09 22:12:36 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-06-09 22:12:36 +0000
commit0ab1c83c1c04b8b0249881b4a51cdd495aeec730 (patch)
treea95b5cb551f9fa3ad3d2dd0e9332c780df046fd2
parente7f818af122f99d1b78e30194c92137073110278 (diff)
parent11abd636cd0f7b6a133cf6e42ffed913d7b29e80 (diff)
Merge "Prevent race condition" into udc-dev
-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);
}