diff options
author | 2014-10-01 16:05:06 +0900 | |
---|---|---|
committer | 2014-10-01 16:08:58 +0900 | |
commit | dbf5701ee0a4910898a34e0aa2ab7c5ea520d4ba (patch) | |
tree | 030b5871a06ff5aacac9e0e481e347ff877708d3 /java | |
parent | 9586d69bdf90fe24a83c0c6ba22589f28ae6cd03 (diff) | |
download | latinime-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.java | 12 |
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); } } |