diff --git a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java index 95fd82ff11544..80d1e1683de15 100644 --- a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java +++ b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java @@ -398,6 +398,7 @@ class ActivityMetricsLogger { /** Returns {@code true} if the incoming activity can belong to this transition. */ boolean canCoalesce(ActivityRecord r) { return mLastLaunchedActivity.mDisplayContent == r.mDisplayContent + && mLastLaunchedActivity.getTask().getBounds().equals(r.getTask().getBounds()) && mLastLaunchedActivity.getWindowingMode() == r.getWindowingMode(); } @@ -646,7 +647,7 @@ class ActivityMetricsLogger { void notifyActivityLaunched(@NonNull LaunchingState launchingState, int resultCode, boolean newActivityCreated, @Nullable ActivityRecord launchedActivity, @Nullable ActivityOptions options) { - if (launchedActivity == null) { + if (launchedActivity == null || launchedActivity.getTask() == null) { // The launch is aborted, e.g. intent not resolved, class not found. abort(launchingState, "nothing launched"); return;