From fac9803757fb981f9e3576ab0b8fac79c544ea5e Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Wed, 21 Sep 2022 23:36:52 +0800 Subject: [PATCH] Add launch type in activity startup trace To distinguish launch type easier in trace instead of combing other traces to infer. Bug: 248003285 Test: Cold/warm/hold launch app and check the trace. Change-Id: Ieab111cc11b71db17449c52edbd80f9c016c016e --- .../server/wm/ActivityMetricsLogger.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java index f8cbd8b3dd486..8ba34fa35de71 100644 --- a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java +++ b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java @@ -231,9 +231,21 @@ class ActivityMetricsLogger { if (mAssociatedTransitionInfo == null) { launchResult = ":failed"; } else { - launchResult = (abort ? ":canceled:" : mAssociatedTransitionInfo.mProcessSwitch - ? ":completed:" : ":completed-same-process:") - + mAssociatedTransitionInfo.mLastLaunchedActivity.packageName; + final String status; + if (abort) { + status = ":canceled:"; + } else if (!mAssociatedTransitionInfo.mProcessSwitch) { + status = ":completed-same-process:"; + } else { + if (endInfo.mTransitionType == TYPE_TRANSITION_HOT_LAUNCH) { + status = ":completed-hot:"; + } else if (endInfo.mTransitionType == TYPE_TRANSITION_WARM_LAUNCH) { + status = ":completed-warm:"; + } else { + status = ":completed-cold:"; + } + } + launchResult = status + mAssociatedTransitionInfo.mLastLaunchedActivity.packageName; } // Put a supplement trace as the description of the async trace with the same id. Trace.instant(Trace.TRACE_TAG_ACTIVITY_MANAGER, mTraceName + launchResult);