summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/ActiveServices.java7
-rw-r--r--services/core/java/com/android/server/am/ServiceRecord.java29
2 files changed, 16 insertions, 20 deletions
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 76136dfc81a0..fdfa0638c428 100644
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -634,7 +634,7 @@ public final class ActiveServices {
}
if (allowBackgroundActivityStarts) {
- r.hasStartedWhitelistingBgActivityStarts = true;
+ r.setHasStartedWhitelistingBgActivityStarts(true);
scheduleCleanUpHasStartedWhitelistingBgActivityStartsLocked(r);
}
@@ -761,11 +761,6 @@ public final class ActiveServices {
}
service.callStart = false;
- // the service will not necessarily be brought down, so only clear the whitelisting state
- // for start-based bg activity starts now, and drop any existing future cleanup callback
- service.setHasStartedWhitelistingBgActivityStarts(false);
- mAm.mHandler.removeCallbacks(service.startedWhitelistingBgActivityStartsCleanUp);
-
bringDownServiceIfNeededLocked(service, false, false);
}
diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java
index 27c62d03f960..b36671f719eb 100644
--- a/services/core/java/com/android/server/am/ServiceRecord.java
+++ b/services/core/java/com/android/server/am/ServiceRecord.java
@@ -131,10 +131,10 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
int pendingConnectionImportance; // To be filled in to ProcessRecord once it connects
// any current binding to this service has BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS flag?
- private boolean hasBindingWhitelistingBgActivityStarts;
+ private boolean mHasBindingWhitelistingBgActivityStarts;
// is this service currently whitelisted to start activities from background by providing
// allowBackgroundActivityStarts=true to startServiceLocked()?
- boolean hasStartedWhitelistingBgActivityStarts;
+ private boolean mHasStartedWhitelistingBgActivityStarts;
// used to clean up the state of hasStartedWhitelistingBgActivityStarts after a timeout
Runnable startedWhitelistingBgActivityStartsCleanUp;
@@ -384,13 +384,13 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
if (whitelistManager) {
pw.print(prefix); pw.print("whitelistManager="); pw.println(whitelistManager);
}
- if (hasBindingWhitelistingBgActivityStarts) {
+ if (mHasBindingWhitelistingBgActivityStarts) {
pw.print(prefix); pw.print("hasBindingWhitelistingBgActivityStarts=");
- pw.println(hasBindingWhitelistingBgActivityStarts);
+ pw.println(mHasBindingWhitelistingBgActivityStarts);
}
- if (hasStartedWhitelistingBgActivityStarts) {
+ if (mHasStartedWhitelistingBgActivityStarts) {
pw.print(prefix); pw.print("hasStartedWhitelistingBgActivityStarts=");
- pw.println(hasStartedWhitelistingBgActivityStarts);
+ pw.println(mHasStartedWhitelistingBgActivityStarts);
}
if (delayed) {
pw.print(prefix); pw.print("delayed="); pw.println(delayed);
@@ -542,7 +542,8 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
public void setProcess(ProcessRecord _proc) {
if (_proc != null) {
- if (hasStartedWhitelistingBgActivityStarts || hasBindingWhitelistingBgActivityStarts) {
+ if (mHasStartedWhitelistingBgActivityStarts
+ || mHasBindingWhitelistingBgActivityStarts) {
_proc.addAllowBackgroundActivityStartsToken(this);
} else {
_proc.removeAllowBackgroundActivityStartsToken(this);
@@ -614,22 +615,22 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
break;
}
}
- if (hasBindingWhitelistingBgActivityStarts != hasWhitelistingBinding) {
- hasBindingWhitelistingBgActivityStarts = hasWhitelistingBinding;
+ if (mHasBindingWhitelistingBgActivityStarts != hasWhitelistingBinding) {
+ mHasBindingWhitelistingBgActivityStarts = hasWhitelistingBinding;
updateParentProcessBgActivityStartsWhitelistingToken();
}
}
void setHasBindingWhitelistingBgActivityStarts(boolean newValue) {
- if (hasBindingWhitelistingBgActivityStarts != newValue) {
- hasBindingWhitelistingBgActivityStarts = newValue;
+ if (mHasBindingWhitelistingBgActivityStarts != newValue) {
+ mHasBindingWhitelistingBgActivityStarts = newValue;
updateParentProcessBgActivityStartsWhitelistingToken();
}
}
void setHasStartedWhitelistingBgActivityStarts(boolean newValue) {
- if (hasStartedWhitelistingBgActivityStarts != newValue) {
- hasStartedWhitelistingBgActivityStarts = newValue;
+ if (mHasStartedWhitelistingBgActivityStarts != newValue) {
+ mHasStartedWhitelistingBgActivityStarts = newValue;
updateParentProcessBgActivityStartsWhitelistingToken();
}
}
@@ -647,7 +648,7 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
if (app == null) {
return;
}
- if (hasStartedWhitelistingBgActivityStarts || hasBindingWhitelistingBgActivityStarts) {
+ if (mHasStartedWhitelistingBgActivityStarts || mHasBindingWhitelistingBgActivityStarts) {
// if the token is already there it's safe to "re-add it" - we're deadling with
// a set of Binder objects
app.addAllowBackgroundActivityStartsToken(this);