diff options
| author | 2018-11-09 09:13:22 -0800 | |
|---|---|---|
| committer | 2018-11-09 09:16:06 -0800 | |
| commit | a62534b90062b96373a621c32b003016b30f658c (patch) | |
| tree | 6fcc3ec2702af34feda5c8be983378cf917fa890 | |
| parent | 8e3554a156f069bab111789f1cbc9a69090a505d (diff) | |
AM: Fix NPE in AML when we cannot find launch info associated to a transition
Change-Id: I29677347b0c42bdd94526532ee83ad5e79cc62d1
Fixes: b/119284973
Test: atest ActivityMetricsLogger
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityMetricsLogger.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java index 9b01dfd8852c..61e14143f162 100644 --- a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java +++ b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java @@ -72,12 +72,12 @@ import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_T import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_TRANSITION_REPORTED_DRAWN_NO_BUNDLE; import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_TRANSITION_REPORTED_DRAWN_WITH_BUNDLE; import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_TRANSITION_WARM_LAUNCH; -import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_METRICS; -import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM; -import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.am.EventLogTags.AM_ACTIVITY_LAUNCH_TIME; import static com.android.server.am.MemoryStatUtil.MemoryStat; import static com.android.server.am.MemoryStatUtil.readMemoryStatFromFilesystem; +import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_METRICS; +import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM; +import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.ActivityTaskManagerInternal.APP_TRANSITION_TIMEOUT; import android.app.WindowConfiguration.WindowingMode; @@ -495,7 +495,9 @@ class ActivityMetricsLogger { foundInfo = info; } if (allWindowsDrawn()) { - reset(false /* abort */, foundInfo, "notifyTransitionStarting - all windows drawn"); + // abort metrics collection if we cannot find a matching transition. + final boolean abortMetrics = foundInfo == null; + reset(abortMetrics, foundInfo, "notifyTransitionStarting - all windows drawn"); } } |