summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/Activity.java9
-rw-r--r--core/java/android/app/ActivityThread.java11
-rw-r--r--services/core/java/com/android/server/am/EventLogTags.logtags5
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)