diff options
| -rw-r--r-- | core/java/android/app/Activity.java | 9 | ||||
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 11 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/EventLogTags.logtags | 5 |
3 files changed, 20 insertions, 5 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index 86b10b90fa7c..0d22f3a8bb03 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -773,6 +773,8 @@ public class Activity extends ContextThemeWrapper private static final int LOG_AM_ON_RESTART_CALLED = 30058; private static final int LOG_AM_ON_DESTROY_CALLED = 30060; private static final int LOG_AM_ON_ACTIVITY_RESULT_CALLED = 30062; + private static final int LOG_AM_ON_TOP_RESUMED_GAINED_CALLED = 30064; + private static final int LOG_AM_ON_TOP_RESUMED_LOST_CALLED = 30065; private static class ManagedDialog { Dialog mDialog; @@ -1840,6 +1842,13 @@ public class Activity extends ContextThemeWrapper public void onTopResumedActivityChanged(boolean isTopResumedActivity) { } + final void performTopResumedActivityChanged(boolean isTopResumedActivity, String reason) { + onTopResumedActivityChanged(isTopResumedActivity); + + writeEventLog(isTopResumedActivity + ? LOG_AM_ON_TOP_RESUMED_GAINED_CALLED : LOG_AM_ON_TOP_RESUMED_LOST_CALLED, reason); + } + void setVoiceInteractor(IVoiceInteractor voiceInteractor) { if (mVoiceInteractor != null) { for (Request activeRequest: mVoiceInteractor.getActiveRequests()) { diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 474f25bd5533..13add09bbaaf 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -4026,7 +4026,7 @@ public final class ActivityThread extends ClientTransactionHandler { r.persistentState = null; r.setState(ON_RESUME); - reportTopResumedActivityChanged(r, r.isTopResumedActivity); + reportTopResumedActivityChanged(r, r.isTopResumedActivity, "topWhenResuming"); } catch (Exception e) { if (!mInstrumentation.onException(r.activity, e)) { throw new RuntimeException("Unable to resume activity " @@ -4201,7 +4201,7 @@ public final class ActivityThread extends ClientTransactionHandler { r.isTopResumedActivity = onTop; if (r.getLifecycleState() == ON_RESUME) { - reportTopResumedActivityChanged(r, onTop); + reportTopResumedActivityChanged(r, onTop, "topStateChangedWhenResumed"); } else { if (DEBUG_ORDER) { Slog.d(TAG, "Won't deliver top position change in state=" + r.getLifecycleState()); @@ -4213,10 +4213,11 @@ public final class ActivityThread extends ClientTransactionHandler { * Call {@link Activity#onTopResumedActivityChanged(boolean)} if its top resumed state changed * since the last report. */ - private void reportTopResumedActivityChanged(ActivityClientRecord r, boolean onTop) { + private void reportTopResumedActivityChanged(ActivityClientRecord r, boolean onTop, + String reason) { if (r.lastReportedTopResumedState != onTop) { r.lastReportedTopResumedState = onTop; - r.activity.onTopResumedActivityChanged(onTop); + r.activity.performTopResumedActivityChanged(onTop, reason); } } @@ -4313,7 +4314,7 @@ public final class ActivityThread extends ClientTransactionHandler { // Always reporting top resumed position loss when pausing an activity. If necessary, it // will be restored in performResumeActivity(). - reportTopResumedActivityChanged(r, false /* onTop */); + reportTopResumedActivityChanged(r, false /* onTop */, "pausing"); try { r.activity.mCalled = false; diff --git a/services/core/java/com/android/server/am/EventLogTags.logtags b/services/core/java/com/android/server/am/EventLogTags.logtags index e65a4e50198b..7c2ea3fc57f2 100644 --- a/services/core/java/com/android/server/am/EventLogTags.logtags +++ b/services/core/java/com/android/server/am/EventLogTags.logtags @@ -139,3 +139,8 @@ option java_package com.android.server.am # The task is being compacted 30063 am_compact (Pid|1|5),(Process Name|3),(Action|3),(BeforeRssTotal|2|2),(BeforeRssFile|2|2),(BeforeRssAnon|2|2),(BeforeRssSwap|2|2),(DeltaRssTotal|2|2),(DeltaRssFile|2|2),(DeltaRssAnon|2|2),(DeltaRssSwap|2|2),(Time|2|3),(LastAction|1|2),(LastActionTimestamp|2|3),(setAdj|1|2),(procState|1|2),(BeforeZRAMFree|2|2),(DeltaZRAMFree|2|2) + +# The activity's onTopResumedActivityChanged(true) has been called. +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) |