diff options
| -rw-r--r-- | services/core/java/com/android/server/am/EventLogTags.logtags | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStack.java | 13 |
2 files changed, 12 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/am/EventLogTags.logtags b/services/core/java/com/android/server/am/EventLogTags.logtags index 7c2ea3fc57f2..30a297e221ae 100644 --- a/services/core/java/com/android/server/am/EventLogTags.logtags +++ b/services/core/java/com/android/server/am/EventLogTags.logtags @@ -144,3 +144,6 @@ option java_package com.android.server.am 30064 am_on_top_resumed_gained_called (User|1|5),(Component Name|3),(Reason|3) # The activity's onTopResumedActivityChanged(false) has been called. 30065 am_on_top_resumed_lost_called (User|1|5),(Component Name|3),(Reason|3) + +# An activity been add into stopping list +30066 am_add_to_stopping (User|1|5),(Token|1|5),(Component Name|3),(Reason|3)
\ No newline at end of file diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java index 8a834c8f942b..c4aef30be2ca 100644 --- a/services/core/java/com/android/server/wm/ActivityStack.java +++ b/services/core/java/com/android/server/wm/ActivityStack.java @@ -1822,7 +1822,8 @@ class ActivityStack extends ConfigurationContainer { prev.setDeferHidingClient(false); // If we were visible then resumeTopActivities will release resources before // stopping. - addToStopping(prev, true /* scheduleIdle */, false /* idleDelayed */); + addToStopping(prev, true /* scheduleIdle */, false /* idleDelayed */, + "completePauseLocked"); } } else { if (DEBUG_PAUSE) Slog.v(TAG_PAUSE, "App died during pause, not stopping: " + prev); @@ -1883,8 +1884,11 @@ class ActivityStack extends ConfigurationContainer { mRootActivityContainer.ensureActivitiesVisible(resuming, 0, !PRESERVE_WINDOWS); } - private void addToStopping(ActivityRecord r, boolean scheduleIdle, boolean idleDelayed) { + private void addToStopping(ActivityRecord r, boolean scheduleIdle, boolean idleDelayed, + String reason) { if (!mStackSupervisor.mStoppingActivities.contains(r)) { + EventLog.writeEvent(EventLogTags.AM_ADD_TO_STOPPING, r.mUserId, + System.identityHashCode(r), r.shortComponentName, reason); mStackSupervisor.mStoppingActivities.add(r); } @@ -2433,7 +2437,7 @@ class ActivityStack extends ConfigurationContainer { case PAUSING: case PAUSED: addToStopping(r, true /* scheduleIdle */, - canEnterPictureInPicture /* idleDelayed */); + canEnterPictureInPicture /* idleDelayed */, "makeInvisible"); break; default: @@ -4098,7 +4102,8 @@ class ActivityStack extends ConfigurationContainer { if (mode == FINISH_AFTER_VISIBLE && (r.visible || r.nowVisible) && next != null && !next.nowVisible && !isFloating) { if (!mStackSupervisor.mStoppingActivities.contains(r)) { - addToStopping(r, false /* scheduleIdle */, false /* idleDelayed */); + addToStopping(r, false /* scheduleIdle */, false /* idleDelayed */, + "finishCurrentActivityLocked"); } if (DEBUG_STATES) Slog.v(TAG_STATES, "Moving to STOPPING: "+ r + " (finish requested)"); |