From bc08503e0bd393f661bae68d6ea47b24b4902ebb Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Tue, 9 Mar 2021 11:01:02 -0800 Subject: [PATCH] Ensure taskbar hotseat array index is in bounds Test: switch from 5x5 grid to 4x4 grid, ensure no crash Fixes: 181981906 Change-Id: Ic23e3d5f1debcfd2307e48c6aaac38d143fd95c3 --- .../android/launcher3/taskbar/TaskbarHotseatController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarHotseatController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarHotseatController.java index 082343ea0b..b1bafdb879 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarHotseatController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarHotseatController.java @@ -78,7 +78,10 @@ public class TaskbarHotseatController { CellLayout.LayoutParams lp = (CellLayout.LayoutParams) child.getLayoutParams(); // Since the hotseat might be laid out vertically or horizontally, use whichever // index is higher. - hotseatItemInfos[Math.max(lp.cellX, lp.cellY)] = itemInfo; + int index = Math.max(lp.cellX, lp.cellY); + if (0 <= index && index < hotseatItemInfos.length) { + hotseatItemInfos[index] = itemInfo; + } } }