aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-10-01 16:05:06 +0900
committerTadashi G. Takaoka <takaoka@google.com>2014-10-01 16:08:58 +0900
commitdbf5701ee0a4910898a34e0aa2ab7c5ea520d4ba (patch)
tree030b5871a06ff5aacac9e0e481e347ff877708d3 /java
parent9586d69bdf90fe24a83c0c6ba22589f28ae6cd03 (diff)
downloadlatinime-dbf5701ee0a4910898a34e0aa2ab7c5ea520d4ba.tar.gz
latinime-dbf5701ee0a4910898a34e0aa2ab7c5ea520d4ba.tar.xz
latinime-dbf5701ee0a4910898a34e0aa2ab7c5ea520d4ba.zip
Fix NPE in KeyboardParams
Bug: 17707885 Change-Id: Ie6a54ac5ab60f5d11363ac8da8eef850d65dba7c
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
index 1e1188bd0..71ce768a9 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java
@@ -27,6 +27,9 @@ import java.util.Comparator;
import java.util.SortedSet;
import java.util.TreeSet;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
public class KeyboardParams {
public KeyboardId mId;
public int mThemeId;
@@ -67,7 +70,7 @@ public class KeyboardParams {
public final KeyboardTextsSet mTextsSet = new KeyboardTextsSet();
public final KeyStylesSet mKeyStyles = new KeyStylesSet(mTextsSet);
- public KeysCache mKeysCache;
+ @Nullable public KeysCache mKeysCache;
public boolean mAllowRedundantMoreKeys;
public int mMostCommonKeyHeight = 0;
@@ -96,7 +99,7 @@ public class KeyboardParams {
clearHistogram();
}
- public void onAddKey(final Key newKey) {
+ public void onAddKey(@Nonnull final Key newKey) {
final Key key = (mKeysCache != null) ? mKeysCache.get(newKey) : newKey;
final boolean isSpacer = key.isSpacer();
if (isSpacer && key.getWidth() == 0) {
@@ -129,7 +132,10 @@ public class KeyboardParams {
mSortedKeys.clear();
for (final Key key : allKeys) {
final Key filteredKey = Key.removeRedundantMoreKeys(key, lettersOnBaseLayout);
- mSortedKeys.add(mKeysCache.replace(key, filteredKey));
+ if (mKeysCache != null) {
+ mKeysCache.replace(key, filteredKey);
+ }
+ mSortedKeys.add(filteredKey);
}
}