summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vishnu Nair <vishnun@google.com> 2018-11-09 09:13:22 -0800
committer Vishnu Nair <vishnun@google.com> 2018-11-09 09:16:06 -0800
commita62534b90062b96373a621c32b003016b30f658c (patch)
tree6fcc3ec2702af34feda5c8be983378cf917fa890
parent8e3554a156f069bab111789f1cbc9a69090a505d (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.java10
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");
}
}