summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Christopher Tate <ctate@google.com> 2019-05-29 15:52:47 -0700
committer Christopher Tate <ctate@google.com> 2019-05-29 16:11:03 -0700
commitaaf2ac4ef0a6a33f77ce3381d588a144c748a1e2 (patch)
tree88a8c802113b2cad99b609a1ec87b7e25fc78830
parenta11f79120b0af53c33745bf712e3aaa9454f557d (diff)
Tidy up all service state when done executing
In particular, make sure to note that a no-longer-executing service is also no longer "foreground" for purposes of procstat sanity-checking. Fixes: 113926404 Test: manual Test: atest CtsAppTestCases:.ServiceTest Change-Id: I11db26820adf9cc8fb97dea8e569915c9bbc93b5
-rw-r--r--services/core/java/com/android/server/am/ActiveServices.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 90266f12a5dd..fae853c52c01 100644
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -3250,6 +3250,7 @@ public final class ActiveServices {
int memFactor = mAm.mProcessStats.getMemFactorLocked();
long now = SystemClock.uptimeMillis();
r.tracker.setExecuting(false, memFactor, now);
+ r.tracker.setForeground(false, memFactor, now);
r.tracker.setBound(false, memFactor, now);
r.tracker.setStarted(false, memFactor, now);
}
@@ -3293,8 +3294,10 @@ public final class ActiveServices {
}
r.executeFg = false;
if (r.tracker != null) {
- r.tracker.setExecuting(false, mAm.mProcessStats.getMemFactorLocked(),
- SystemClock.uptimeMillis());
+ final int memFactor = mAm.mProcessStats.getMemFactorLocked();
+ final long now = SystemClock.uptimeMillis();
+ r.tracker.setExecuting(false, memFactor, now);
+ r.tracker.setForeground(false, memFactor, now);
if (finishing) {
r.tracker.clearCurrentOwner(r, false);
r.tracker = null;