More precise geometry checking for more keys keyboard

Bug: 8484528
Change-Id: I0dd09530a5262fee9c19bb0f11d5830b00306944
main
Tadashi G. Takaoka 2013-04-11 10:44:54 +09:00
parent cdaee868a3
commit a4463d7a9a
1 changed files with 3 additions and 2 deletions

View File

@ -73,10 +73,11 @@ public final class MoreKeysKeyboard extends Keyboard {
final int rowHeight, final int coordXInParent, final int parentKeyboardWidth, final int rowHeight, final int coordXInParent, final int parentKeyboardWidth,
final boolean isFixedColumnOrder, final int dividerWidth) { final boolean isFixedColumnOrder, final int dividerWidth) {
mIsFixedOrder = isFixedColumnOrder; mIsFixedOrder = isFixedColumnOrder;
if (parentKeyboardWidth / keyWidth < maxColumns) { if (parentKeyboardWidth / keyWidth < Math.min(numKeys, maxColumns)) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"Keyboard is too small to hold more keys keyboard: " "Keyboard is too small to hold more keys keyboard: "
+ parentKeyboardWidth + " " + keyWidth + " " + maxColumns); + parentKeyboardWidth + " " + keyWidth + " "
+ numKeys + " " + maxColumns);
} }
mDefaultKeyWidth = keyWidth; mDefaultKeyWidth = keyWidth;
mDefaultRowHeight = rowHeight; mDefaultRowHeight = rowHeight;