From c2ea364e77e4a649409bc5a831490db8f59b4904 Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Thu, 24 May 2018 00:32:23 -0700 Subject: [PATCH] Added display null check to ActivityStackSupervisor.getNextFocusableStackLocked Don't try to process display that is already removed from the system Change-Id: Idaef23ecf33a45970fc61e1a7fb56206c1a1deea Fixes: 79779143 Test: manual --- .../java/com/android/server/am/ActivityStackSupervisor.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index afad0b1df5f2d..7310fab72cf83 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2554,6 +2554,10 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D final int displayId = mTmpOrderedDisplayIds.get(i); // If a display is registered in WM, it must also be available in AM. final ActivityDisplay display = getActivityDisplayOrCreateLocked(displayId); + if (display == null) { + // Looks like the display no longer exists in the system... + continue; + } for (int j = display.getChildCount() - 1; j >= 0; --j) { final ActivityStack stack = display.getChildAt(j); if (ignoreCurrent && stack == currentFocus) {