From 118931188c9c131bea15241109c4e7025c60b41f Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Mon, 27 Sep 2021 17:50:38 +0200 Subject: LockPatternView: Fix a11y+BiometricPrompt related OOB exception Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/4007 Change-Id: Ifcae0a46430915c93b9e65ad968ca7e90504a9fb --- core/java/com/android/internal/widget/LockPatternView.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/internal/widget/LockPatternView.java b/core/java/com/android/internal/widget/LockPatternView.java index db5735a69440..1e024e340a86 100644 --- a/core/java/com/android/internal/widget/LockPatternView.java +++ b/core/java/com/android/internal/widget/LockPatternView.java @@ -1587,7 +1587,9 @@ public class LockPatternView extends View { if (virtualViewId != ExploreByTouchHelper.INVALID_ID) { int row = (virtualViewId - VIRTUAL_BASE_VIEW_ID) / 3; int col = (virtualViewId - VIRTUAL_BASE_VIEW_ID) % 3; - return !mPatternDrawLookup[row][col]; + if (row < 3) { + return !mPatternDrawLookup[row][col]; + } } return false; } @@ -1633,7 +1635,6 @@ public class LockPatternView extends View { final Rect bounds = mTempRect; final int row = ordinal / 3; final int col = ordinal % 3; - final CellState cell = mCellStates[row][col]; float centerX = getCenterXForColumn(col); float centerY = getCenterYForRow(row); float cellheight = mSquareHeight * mHitFactor * 0.5f; -- cgit v1.2.3