From d965659a0abe4b6d3da65a7a728161f55adb0362 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Thu, 26 Nov 2020 15:13:44 -0800 Subject: [PATCH] [DO NOT MERGE]Fix IndexOutOfBoundsException for TDA stack Before, it used DC.getStackCount() to loop TDA stacks, which caused issue when there are multiple TDAs. Fix: 174766822 Test: manual Change-Id: I60bcf72c37b2f90fc655566022a107a75b49966a --- .../core/java/com/android/server/wm/RootWindowContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index 14316fa681361..eaf76938e2e83 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -3262,7 +3262,7 @@ class RootWindowContainer extends WindowContainer int numTaskContainers = display.getTaskDisplayAreaCount(); for (int tdaNdx = 0; tdaNdx < numTaskContainers; tdaNdx++) { final TaskDisplayArea taskDisplayArea = display.getTaskDisplayAreaAt(tdaNdx); - final int numStacks = display.getStackCount(); + final int numStacks = taskDisplayArea.getStackCount(); for (int stackNdx = 0; stackNdx < numStacks; ++stackNdx) { final ActivityStack stack = taskDisplayArea.getStackAt(stackNdx); stack.finishVoiceTask(session);