summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Sharkey <jsharkey@android.com> 2013-04-25 14:32:30 -0700
committer Jeff Sharkey <jsharkey@android.com> 2013-04-25 15:01:48 -0700
commit5782da778ca2f282b763fa64a8f7ec079cad4d70 (patch)
tree51ebdf1914e7208eb59178f8527c9e74f2cadf03
parent7efcc0c16d7a70327b93c7d230a85232c2db6ef1 (diff)
Report dead activities as paused to stats.
Also tell stats about pause before dispatching to remote side. Change-Id: I975d0fba65515fa768127792d5aa7976df2ba2d3
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java4
-rw-r--r--services/java/com/android/server/am/ActivityStack.java5
-rw-r--r--services/java/com/android/server/am/ActivityStackSupervisor.java2
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()) {