From 86dde2bd49b8e36b8b8f135c2cffdee00999eeab Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Thu, 18 Jan 2018 06:15:45 -0800 Subject: [PATCH] Fix NPE in ActivityStack.ensureActivitiesVisibleLocked Follow-up to ag/3345710 where we add call to the display object. It is possible for ensureActivitiesVisibleLocked to be called when the stack has been removed from the display and no longer has any tasks. So, we need to check if the stack is attached to the display before trying to access it. Change-Id: I9d7c3d00c1af1813b2c408339188fcef2c1a1a6f Fixes: 72107481 Test: manual --- services/core/java/com/android/server/am/ActivityStack.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 0904c8e71df22..f496a672e8d72 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -1817,7 +1817,8 @@ class ActivityStack extends ConfigurationContai boolean behindFullscreenActivity = !stackShouldBeVisible; boolean resumeNextActivity = mStackSupervisor.isFocusedStack(this) && (isInStackLocked(starting) == null); - final boolean isTopNotPinnedStack = getDisplay().isTopNotPinnedStack(this); + final boolean isTopNotPinnedStack = + isAttached() && getDisplay().isTopNotPinnedStack(this); for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) { final TaskRecord task = mTaskHistory.get(taskNdx); final ArrayList activities = task.mActivities;