diff options
| author | 2013-04-25 14:32:30 -0700 | |
|---|---|---|
| committer | 2013-04-25 15:01:48 -0700 | |
| commit | 5782da778ca2f282b763fa64a8f7ec079cad4d70 (patch) | |
| tree | 51ebdf1914e7208eb59178f8527c9e74f2cadf03 | |
| parent | 7efcc0c16d7a70327b93c7d230a85232c2db6ef1 (diff) | |
Report dead activities as paused to stats.
Also tell stats about pause before dispatching to remote side.
Change-Id: I975d0fba65515fa768127792d5aa7976df2ba2d3
3 files changed, 5 insertions, 6 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index a37ee96b8493..5a2e88aeb3b3 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -2528,10 +2528,6 @@ public final class ActivityManagerService extends ActivityManagerNative } } - void reportResumedActivityLocked(ActivityRecord r) { - updateUsageStats(r, true); - } - private void dispatchProcessesChanged() { int N; synchronized (this) { diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java index c1208cf2190e..c6ce90dc1a00 100644 --- a/services/java/com/android/server/am/ActivityStack.java +++ b/services/java/com/android/server/am/ActivityStack.java @@ -788,9 +788,9 @@ final class ActivityStack { EventLog.writeEvent(EventLogTags.AM_PAUSE_ACTIVITY, prev.userId, System.identityHashCode(prev), prev.shortComponentName); + mService.updateUsageStats(prev, false); prev.app.thread.schedulePauseActivity(prev.appToken, prev.finishing, userLeaving, prev.configChangeFlags); - mService.updateUsageStats(prev, false); } catch (Exception e) { // Ignore exception, if process died other code will cleanup. Slog.w(TAG, "Exception thrown during pause", e); @@ -2883,6 +2883,9 @@ final class ActivityStack { r.userId, System.identityHashCode(r), r.task.taskId, r.shortComponentName, "proc died without state saved"); + if (r.state == ActivityState.RESUMED) { + mService.updateUsageStats(r, false); + } } removeActivityFromHistoryLocked(r); diff --git a/services/java/com/android/server/am/ActivityStackSupervisor.java b/services/java/com/android/server/am/ActivityStackSupervisor.java index 82944a96f717..ab9aa367ea19 100644 --- a/services/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/java/com/android/server/am/ActivityStackSupervisor.java @@ -1921,7 +1921,7 @@ public class ActivityStackSupervisor { boolean reportResumedActivityLocked(ActivityRecord r) { final ActivityStack stack = r.task.stack; if (isFrontStack(stack)) { - mService.reportResumedActivityLocked(r); + mService.updateUsageStats(r, true); mService.setFocusedActivityLocked(r); } if (allResumedActivitiesComplete()) { |