diff options
| author | 2021-08-12 10:50:58 +0000 | |
|---|---|---|
| committer | 2021-08-19 11:41:49 +0000 | |
| commit | 26d8e9e85a7a7ebc12564ec525c7b719f8eb718b (patch) | |
| tree | 6fd7ff1a977b34fe1a8272e8015cabbc9b8523b6 | |
| parent | 99e5c70ff088cb92833dfbeb98ffb905f71b7c3b (diff) | |
RESTRICT AUTOMERGE Avoid the scenario Where taskdisplayarea is null
Problem: Framework Reboot i.e., NPE in android.ui Thread
E AndroidRuntime: FATAL EXCEPTION IN SYSTEM PROCESS: android.ui
E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'com.android.server.wm.ActivityStack com.android.server.wm.TaskDisplayArea.getRootHomeTask()' on a null object reference
E AndroidRuntime: **at com.android.server.wm.ActivityStarter.postStartActivityProcessing(ActivityStarter.java:1486)
E AndroidRuntime: **at com.android.server.wm.ActivityStarter.startActivityUnchecked(ActivityStarter.java:1533)
E AndroidRuntime: **at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:1190)
E AndroidRuntime: **at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:673)
E AndroidRuntime: **at com.android.server.wm.ActivityStartController.startHomeActivity(ActivityStartController.java:206)
Analysis:
getDisplayArea in Task and its Super Class is annotated with Nullable and can be return Null.
Bug: 196568035
Test: StabilityTest
Change-Id: I4f3c8fdca0202591e7ac07aa7b8e3de3b08b2475
Merged-In: I4f3c8fdca0202591e7ac07aa7b8e3de3b08b2475
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStarter.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 113797c7a307..419a7fa0dd0b 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -1468,7 +1468,7 @@ class ActivityStarter { final Task targetTask = r.getTask() != null ? r.getTask() : mTargetTask; - if (startedActivityStack == null || targetTask == null) { + if (startedActivityStack == null || targetTask == null || !targetTask.isAttached()) { return; } |