Merge "Separate trace of trampoline launch with different packages" into sc-dev am: 05e83c1ce9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15094231 Change-Id: Iec7eae226378c3fbe54fcfdca0df3e77c19cf67a
This commit is contained in:
@@ -609,13 +609,27 @@ class ActivityMetricsLogger {
|
||||
return;
|
||||
}
|
||||
|
||||
// If the launched activity is started from an existing active transition, it will be put
|
||||
// into the transition info.
|
||||
if (info != null && info.canCoalesce(launchedActivity)) {
|
||||
// If we are already in an existing transition on the same display, only update the
|
||||
// activity name, but not the other attributes.
|
||||
if (DEBUG_METRICS) Slog.i(TAG, "notifyActivityLaunched consecutive launch");
|
||||
|
||||
if (DEBUG_METRICS) Slog.i(TAG, "notifyActivityLaunched update launched activity");
|
||||
final boolean crossPackage =
|
||||
!info.mLastLaunchedActivity.packageName.equals(launchedActivity.packageName);
|
||||
// The trace name uses package name so different packages should be separated.
|
||||
if (crossPackage) {
|
||||
stopLaunchTrace(info);
|
||||
}
|
||||
|
||||
mLastTransitionInfo.remove(info.mLastLaunchedActivity);
|
||||
// Coalesce multiple (trampoline) activities from a single sequence together.
|
||||
info.setLatestLaunchedActivity(launchedActivity);
|
||||
// Update the latest one so it can be found when reporting fully-drawn.
|
||||
mLastTransitionInfo.put(launchedActivity, info);
|
||||
|
||||
if (crossPackage) {
|
||||
startLaunchTrace(info);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user