diff options
author | 2013-06-24 01:45:45 -0700 | |
---|---|---|
committer | 2013-06-24 01:45:45 -0700 | |
commit | e189103e0035a25458f567c1267b0d32f3223c83 (patch) | |
tree | 70d29b691a6a9ee9da47bb683e98d3e67bc9438e /java | |
parent | 68afd6593c511b209507202bfb369b7c1078b06b (diff) | |
parent | fadff6ada189ab789daae76fb9d603d26244ee1c (diff) | |
download | latinime-e189103e0035a25458f567c1267b0d32f3223c83.tar.gz latinime-e189103e0035a25458f567c1267b0d32f3223c83.tar.xz latinime-e189103e0035a25458f567c1267b0d32f3223c83.zip |
am fadff6ad: Merge "Fix possible divided by zeror error"
* commit 'fadff6ada189ab789daae76fb9d603d26244ee1c':
Fix possible divided by zeror error
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java index ae08a5953..a87fc4cd2 100644 --- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java @@ -279,8 +279,14 @@ public final class MoreKeysKeyboard extends Keyboard { mParentKey = parentKey; final int width, height; + // {@link KeyPreviewDrawParams#mPreviewVisibleWidth} should have been set at + // {@link MainKeyboardView#showKeyPreview(PointerTracker}, though there may be + // some chances that the value is zero. <code>width == 0</code> will cause + // zero-division error at + // {@link MoreKeysKeyboardParams#setParameters(int,int,int,int,int,int,boolean,int)}. final boolean singleMoreKeyWithPreview = parentKeyboardView.isKeyPreviewPopupEnabled() - && !parentKey.noKeyPreview() && parentKey.mMoreKeys.length == 1; + && !parentKey.noKeyPreview() && parentKey.mMoreKeys.length == 1 + && keyPreviewDrawParams.mPreviewVisibleWidth > 0; if (singleMoreKeyWithPreview) { // Use pre-computed width and height if this more keys keyboard has only one key to // mitigate visual flicker between key preview and more keys keyboard. @@ -291,22 +297,10 @@ public final class MoreKeysKeyboard extends Keyboard { // adjusted with their bottom paddings deducted. width = keyPreviewDrawParams.mPreviewVisibleWidth; height = keyPreviewDrawParams.mPreviewVisibleHeight + mParams.mVerticalGap; - // TODO: Remove this check. - if (width == 0) { - throw new IllegalArgumentException( - "Zero width key detected: " + parentKey + " in " + parentKeyboard.mId); - } } else { width = getMaxKeyWidth(parentKeyboardView, parentKey, mParams.mDefaultKeyWidth, context.getResources()); height = parentKeyboard.mMostCommonKeyHeight; - // TODO: Remove this check. - if (width == 0) { - throw new IllegalArgumentException( - "Zero width calculated: " + parentKey - + " moreKeys=" + java.util.Arrays.toString(parentKey.mMoreKeys) - + " in " + parentKeyboard.mId); - } } final int dividerWidth; if (parentKey.needsDividersInMoreKeys()) { |