diff options
| author | 2019-05-29 15:52:47 -0700 | |
|---|---|---|
| committer | 2019-05-29 16:11:03 -0700 | |
| commit | aaf2ac4ef0a6a33f77ce3381d588a144c748a1e2 (patch) | |
| tree | 88a8c802113b2cad99b609a1ec87b7e25fc78830 | |
| parent | a11f79120b0af53c33745bf712e3aaa9454f557d (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.java | 7 |
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; |