Merge "Add event logs for top resumed state change" into qt-dev

This commit is contained in:
Andrii Kulian
2019-04-19 16:52:02 +00:00
committed by Android (Google) Code Review
3 changed files with 20 additions and 5 deletions

View File

@@ -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()) {

View File

@@ -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;

View File

@@ -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)