From 4994e1f2ba669c8636f028594cfc8f757f44d374 Mon Sep 17 00:00:00 2001 From: Satoshi Kataoka Date: Thu, 29 Aug 2013 15:46:27 +0900 Subject: [PATCH] Workaround for AIOOB exception in ProximityInfo Bug: 10537485 Change-Id: I185f17dcb2cd9e3af17a1eafefaa487804d5cce9 --- java/src/com/android/inputmethod/keyboard/ProximityInfo.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java index c0c02f10a..cd127c760 100644 --- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java +++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java @@ -342,7 +342,9 @@ y |---+---+---+---+-v-+-|-+---+---+---+---+---| | thresholdBase and get for (int centerY = yStart; centerY <= yEnd; centerY += mCellHeight) { int index = baseIndexOfCurrentRow; for (int centerX = xStart; centerX <= xEnd; centerX += mCellWidth) { - if (key.squaredDistanceToEdge(centerX, centerY) < thresholdSquared) { + // TODO: Remove "index < neighborCountPerCell.length" below. + if (index < neighborCountPerCell.length + && key.squaredDistanceToEdge(centerX, centerY) < thresholdSquared) { neighborsFlatBuffer[index * keyCount + neighborCountPerCell[index]] = key; ++neighborCountPerCell[index]; }