From 46b26d9ff6f3e071b17003f024669fe037ec00b6 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Fri, 17 Jun 2011 12:45:17 +0900 Subject: Fix a bug where bigram search would never return Bug: 4690487 Change-Id: Ie8f3f651508cc48bbb043a0b308f7e0d1524371c --- native/src/bigram_dictionary.cpp | 2 +- native/src/dictionary.cpp | 8 ++++++++ native/src/dictionary.h | 3 +++ native/src/unigram_dictionary.cpp | 9 +++++---- native/src/unigram_dictionary.h | 2 +- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/native/src/bigram_dictionary.cpp b/native/src/bigram_dictionary.cpp index 4bc436537..11e6dc250 100644 --- a/native/src/bigram_dictionary.cpp +++ b/native/src/bigram_dictionary.cpp @@ -111,7 +111,7 @@ int BigramDictionary::getBigrams(unsigned short *prevWord, int prevWordLength, i mMaxBigrams = maxBigrams; if (HAS_BIGRAM && IS_LATEST_DICT_VERSION) { - int pos = mParentDictionary->isValidWord(prevWord, prevWordLength); + int pos = mParentDictionary->getBigramPosition(prevWord, prevWordLength); if (DEBUG_DICT) { LOGI("Pos -> %d", pos); } diff --git a/native/src/dictionary.cpp b/native/src/dictionary.cpp index a49769bdb..9e32ee80f 100644 --- a/native/src/dictionary.cpp +++ b/native/src/dictionary.cpp @@ -57,4 +57,12 @@ bool Dictionary::isValidWord(unsigned short *word, int length) { return mUnigramDictionary->isValidWord(word, length); } +int Dictionary::getBigramPosition(unsigned short *word, int length) { + if (IS_LATEST_DICT_VERSION) { + return mUnigramDictionary->getBigramPosition(DICTIONARY_HEADER_SIZE, word, 0, length); + } else { + return mUnigramDictionary->getBigramPosition(0, word, 0, length); + } +} + } // namespace latinime diff --git a/native/src/dictionary.h b/native/src/dictionary.h index 3b360d93a..1b41f69dd 100644 --- a/native/src/dictionary.h +++ b/native/src/dictionary.h @@ -62,6 +62,9 @@ public: const int pos, unsigned short *c, int *childrenPosition, bool *terminal, int *freq); + // TODO: delete this + int getBigramPosition(unsigned short *word, int length); + private: bool hasBigram(); diff --git a/native/src/unigram_dictionary.cpp b/native/src/unigram_dictionary.cpp index 7bcdbb498..c294cf3b5 100644 --- a/native/src/unigram_dictionary.cpp +++ b/native/src/unigram_dictionary.cpp @@ -932,15 +932,16 @@ inline bool UnigramDictionary::processCurrentNodeForExactMatch(const int firstCh // TODO: use uint32_t instead of unsigned short bool UnigramDictionary::isValidWord(unsigned short *word, int length) { if (IS_LATEST_DICT_VERSION) { - return (getFrequency(DICTIONARY_HEADER_SIZE, word, 0, length) != NOT_VALID_WORD); + return (getBigramPosition(DICTIONARY_HEADER_SIZE, word, 0, length) != NOT_VALID_WORD); } else { - return (getFrequency(0, word, 0, length) != NOT_VALID_WORD); + return (getBigramPosition(0, word, 0, length) != NOT_VALID_WORD); } } // Require strict exact match. -int UnigramDictionary::getFrequency(int pos, unsigned short *word, int offset, int length) const { +int UnigramDictionary::getBigramPosition(int pos, unsigned short *word, int offset, + int length) const { // returns address of bigram data of that word // return -99 if not found @@ -957,7 +958,7 @@ int UnigramDictionary::getFrequency(int pos, unsigned short *word, int offset, i } } else { if (childPos != 0) { - int t = getFrequency(childPos, word, offset + 1, length); + int t = getBigramPosition(childPos, word, offset + 1, length); if (t > 0) { return t; } diff --git a/native/src/unigram_dictionary.h b/native/src/unigram_dictionary.h index b8e4914fa..c47db1ad2 100644 --- a/native/src/unigram_dictionary.h +++ b/native/src/unigram_dictionary.h @@ -40,6 +40,7 @@ public: int fullWordMultiplier, int maxWordLength, int maxWords, int maxProximityChars, const bool isLatestDictVersion); bool isValidWord(unsigned short *word, int length); + int getBigramPosition(int pos, unsigned short *word, int offset, int length) const; int getSuggestions(const ProximityInfo *proximityInfo, const int *xcoordinates, const int *ycoordinates, const int *codes, const int codesSize, const int flags, unsigned short *outWords, int *frequencies); @@ -59,7 +60,6 @@ private: void getSuggestionCandidates(const int skipPos, const int excessivePos, const int transposedPos, int *nextLetters, const int nextLettersSize, const int maxDepth); - int getFrequency(int pos, unsigned short *word, int offset, int length) const; void getVersionNumber(); bool checkIfDictVersionIsLatest(); int getAddress(int *pos); -- cgit v1.2.3 From 9bb59adf27d28a2d4e146c127683c06a3dca600b Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Tue, 21 Jun 2011 02:31:33 +0900 Subject: Fix NPE Bug: 4727778 Change-Id: I08f1204d5f77251c197dda7d2b332441f9f7123d --- java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index 8657768ee..1218a5abd 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -186,7 +186,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha public void onSizeChanged() { final int width = mInputMethodService.getWindow().getWindow().getDecorView().getWidth(); - if (width == 0) + if (width == 0 || mCurrentId == null) return; mKeyboardWidth = width; // Set keyboard with new width. -- cgit v1.2.3 From 7fd3466060c39b075d4e6e17477602597a14a876 Mon Sep 17 00:00:00 2001 From: Justin Ho Date: Thu, 30 Jun 2011 17:21:27 -0700 Subject: Updated keyboard assets Bug: 4948171 Change-Id: If1e8e5f2f0eafe29b36a10d5f5e9e1fb26d67597 --- .../btn_keyboard_key_popup_background_holo.9.png | Bin 855 -> 866 bytes .../btn_keyboard_key_popup_selected_holo.9.png | Bin 339 -> 341 bytes .../keyboard_key_feedback_background_holo.9.png | Bin 2179 -> 2107 bytes .../keyboard_key_feedback_left_background_holo.9.png | Bin 2105 -> 2022 bytes ...board_key_feedback_left_more_background_holo.9.png | Bin 2237 -> 2173 bytes .../keyboard_key_feedback_more_background_holo.9.png | Bin 2332 -> 2262 bytes .../keyboard_key_feedback_right_background_holo.9.png | Bin 2120 -> 2020 bytes ...oard_key_feedback_right_more_background_holo.9.png | Bin 2267 -> 2180 bytes java/res/drawable-hdpi/sym_keyboard_shift_holo.png | Bin 1010 -> 843 bytes .../drawable-hdpi/sym_keyboard_shift_locked_holo.png | Bin 807 -> 671 bytes java/res/drawable-hdpi/sym_keyboard_space_holo.png | Bin 486 -> 480 bytes .../btn_keyboard_key_popup_background_holo.9.png | Bin 564 -> 581 bytes .../btn_keyboard_key_popup_selected_holo.9.png | Bin 270 -> 271 bytes .../keyboard_key_feedback_background_holo.9.png | Bin 1377 -> 1335 bytes .../keyboard_key_feedback_left_background_holo.9.png | Bin 1388 -> 1325 bytes ...board_key_feedback_left_more_background_holo.9.png | Bin 1486 -> 1436 bytes .../keyboard_key_feedback_more_background_holo.9.png | Bin 1470 -> 1431 bytes .../keyboard_key_feedback_right_background_holo.9.png | Bin 1367 -> 1309 bytes ...oard_key_feedback_right_more_background_holo.9.png | Bin 1457 -> 1412 bytes java/res/drawable-mdpi/sym_keyboard_shift_holo.png | Bin 678 -> 623 bytes .../drawable-mdpi/sym_keyboard_shift_locked_holo.png | Bin 610 -> 547 bytes java/res/drawable-mdpi/sym_keyboard_space_holo.png | Bin 399 -> 402 bytes .../btn_keyboard_key_popup_background_holo.9.png | Bin 1206 -> 1224 bytes .../btn_keyboard_key_popup_selected_holo.9.png | Bin 422 -> 423 bytes .../keyboard_key_feedback_background_holo.9.png | Bin 3120 -> 2996 bytes .../keyboard_key_feedback_left_background_holo.9.png | Bin 3048 -> 2945 bytes ...board_key_feedback_left_more_background_holo.9.png | Bin 3222 -> 3141 bytes .../keyboard_key_feedback_more_background_holo.9.png | Bin 3317 -> 3211 bytes .../keyboard_key_feedback_right_background_holo.9.png | Bin 2996 -> 2892 bytes ...oard_key_feedback_right_more_background_holo.9.png | Bin 3180 -> 3101 bytes java/res/drawable-xhdpi/sym_keyboard_shift_holo.png | Bin 1336 -> 1195 bytes .../drawable-xhdpi/sym_keyboard_shift_locked_holo.png | Bin 1073 -> 909 bytes java/res/drawable-xhdpi/sym_keyboard_space_holo.png | Bin 523 -> 523 bytes 33 files changed, 0 insertions(+), 0 deletions(-) diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_background_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_background_holo.9.png index 046bac69e..d3d831484 100644 Binary files a/java/res/drawable-hdpi/btn_keyboard_key_popup_background_holo.9.png and b/java/res/drawable-hdpi/btn_keyboard_key_popup_background_holo.9.png differ diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png index 166de2a03..26a542773 100644 Binary files a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png and b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_holo.9.png differ diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png index e99456058..36809d483 100644 Binary files a/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png and b/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png differ diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png index 0891b91f2..59c8fd2e4 100644 Binary files a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png and b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_holo.9.png differ diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png index 28975d131..875c65695 100644 Binary files a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png and b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_holo.9.png differ diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png index 462072c52..4bd774395 100644 Binary files a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png and b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_holo.9.png differ diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png index 72c474c09..e4ae59db5 100644 Binary files a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png and b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_holo.9.png differ diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png index 8035afd8d..9af394e95 100644 Binary files a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png and b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_holo.9.png differ diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_holo.png b/java/res/drawable-hdpi/sym_keyboard_shift_holo.png index faf6b294b..c38ef4f50 100644 Binary files a/java/res/drawable-hdpi/sym_keyboard_shift_holo.png and b/java/res/drawable-hdpi/sym_keyboard_shift_holo.png differ diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png index f2b9fce30..2754c7a99 100644 Binary files a/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png and b/java/res/drawable-hdpi/sym_keyboard_shift_locked_holo.png differ diff --git a/java/res/drawable-hdpi/sym_keyboard_space_holo.png b/java/res/drawable-hdpi/sym_keyboard_space_holo.png index 908f1ed9a..2c350d5bb 100644 Binary files a/java/res/drawable-hdpi/sym_keyboard_space_holo.png and b/java/res/drawable-hdpi/sym_keyboard_space_holo.png differ diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_background_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_background_holo.9.png index d66309d10..633aaa22b 100644 Binary files a/java/res/drawable-mdpi/btn_keyboard_key_popup_background_holo.9.png and b/java/res/drawable-mdpi/btn_keyboard_key_popup_background_holo.9.png differ diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png index e96c8c5db..a2df53290 100644 Binary files a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png and b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_holo.9.png differ diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png index f3be5fd6c..cc7dd86aa 100644 Binary files a/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png and b/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png differ diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png index 51eb7ed45..0df04cf2a 100644 Binary files a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png and b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_holo.9.png differ diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png index de3236413..6bde3e98f 100644 Binary files a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png and b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_holo.9.png differ diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png index 1d893a512..3d5b788d5 100644 Binary files a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png and b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_holo.9.png differ diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png index 900e4baee..a1916875a 100644 Binary files a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png and b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_holo.9.png differ diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png index 78cb488fa..02e84d711 100644 Binary files a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png and b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_holo.9.png differ diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_holo.png b/java/res/drawable-mdpi/sym_keyboard_shift_holo.png index 13298adb6..2d79663d2 100644 Binary files a/java/res/drawable-mdpi/sym_keyboard_shift_holo.png and b/java/res/drawable-mdpi/sym_keyboard_shift_holo.png differ diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png index 594ebfec2..05252e53b 100644 Binary files a/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png and b/java/res/drawable-mdpi/sym_keyboard_shift_locked_holo.png differ diff --git a/java/res/drawable-mdpi/sym_keyboard_space_holo.png b/java/res/drawable-mdpi/sym_keyboard_space_holo.png index 27e3d2153..d4cbdcf38 100644 Binary files a/java/res/drawable-mdpi/sym_keyboard_space_holo.png and b/java/res/drawable-mdpi/sym_keyboard_space_holo.png differ diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_popup_background_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_popup_background_holo.9.png index cbcabe151..45401af34 100644 Binary files a/java/res/drawable-xhdpi/btn_keyboard_key_popup_background_holo.9.png and b/java/res/drawable-xhdpi/btn_keyboard_key_popup_background_holo.9.png differ diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png index 0a9a9e44d..b5e514bb5 100644 Binary files a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png and b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_holo.9.png differ diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png index 0e4056f00..ba2835960 100644 Binary files a/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png and b/java/res/drawable-xhdpi/keyboard_key_feedback_background_holo.9.png differ diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png index 353deed23..4929780ff 100644 Binary files a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png and b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_holo.9.png differ diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png index 0c9a35eab..8676746c7 100644 Binary files a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png and b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_holo.9.png differ diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png index 4ff70294b..ab9ba45c2 100644 Binary files a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png and b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_holo.9.png differ diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png index 58e2922aa..a46979def 100644 Binary files a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png and b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_holo.9.png differ diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png index 06c33c04c..63a5f459e 100644 Binary files a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png and b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_holo.9.png differ diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift_holo.png b/java/res/drawable-xhdpi/sym_keyboard_shift_holo.png index 8195112ee..b88fa1367 100644 Binary files a/java/res/drawable-xhdpi/sym_keyboard_shift_holo.png and b/java/res/drawable-xhdpi/sym_keyboard_shift_holo.png differ diff --git a/java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.png b/java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.png index ab4d61b9b..fc2998fc6 100644 Binary files a/java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.png and b/java/res/drawable-xhdpi/sym_keyboard_shift_locked_holo.png differ diff --git a/java/res/drawable-xhdpi/sym_keyboard_space_holo.png b/java/res/drawable-xhdpi/sym_keyboard_space_holo.png index 2a11eaaeb..6d7f13e6f 100644 Binary files a/java/res/drawable-xhdpi/sym_keyboard_space_holo.png and b/java/res/drawable-xhdpi/sym_keyboard_space_holo.png differ -- cgit v1.2.3 From 9a1d6a1c6b303985fbe44a54bb2fa68f9b2d06aa Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 22 Jul 2011 12:52:12 -0700 Subject: Fix NPE Bug: 5067161 Change-Id: I466d40fc1bffa01efc1205a47b3330ae6f30bc66 --- .../android/inputmethod/deprecated/VoiceProxy.java | 65 +++++++++++++++------- 1 file changed, 44 insertions(+), 21 deletions(-) diff --git a/java/src/com/android/inputmethod/deprecated/VoiceProxy.java b/java/src/com/android/inputmethod/deprecated/VoiceProxy.java index b8a8169bc..9397483ce 100644 --- a/java/src/com/android/inputmethod/deprecated/VoiceProxy.java +++ b/java/src/com/android/inputmethod/deprecated/VoiceProxy.java @@ -158,7 +158,10 @@ public class VoiceProxy implements VoiceInput.UiListener { } public void flushVoiceInputLogs(boolean configurationChanged) { - if (VOICE_INSTALLED && !configurationChanged) { + if (!VOICE_INSTALLED) { + return; + } + if (!configurationChanged) { if (mAfterVoiceInput) { mVoiceInput.flushAllTextModificationCounters(); mVoiceInput.logInputEnded(); @@ -301,6 +304,9 @@ public class VoiceProxy implements VoiceInput.UiListener { } public void showPunctuationHintIfNecessary() { + if (!VOICE_INSTALLED) { + return; + } InputConnection ic = mService.getCurrentInputConnection(); if (!mImmediatelyAfterVoiceInput && mAfterVoiceInput && ic != null) { if (mHints.showPunctuationHintIfNecessary(ic)) { @@ -375,9 +381,6 @@ public class VoiceProxy implements VoiceInput.UiListener { } private void revertVoiceInput() { - if (!VOICE_INSTALLED) { - return; - } InputConnection ic = mService.getCurrentInputConnection(); if (ic != null) ic.commitText("", 1); mService.updateSuggestions(); @@ -394,7 +397,10 @@ public class VoiceProxy implements VoiceInput.UiListener { } public boolean logAndRevertVoiceInput() { - if (VOICE_INSTALLED && mVoiceInputHighlighted) { + if (!VOICE_INSTALLED) { + return false; + } + if (mVoiceInputHighlighted) { mVoiceInput.incrementTextModificationDeleteCount( mVoiceResults.candidates.get(0).toString().length()); revertVoiceInput(); @@ -505,7 +511,10 @@ public class VoiceProxy implements VoiceInput.UiListener { } public void handleClose() { - if (VOICE_INSTALLED & mRecognizing) { + if (!VOICE_INSTALLED) { + return; + } + if (mRecognizing) { mVoiceInput.cancel(); } } @@ -553,6 +562,9 @@ public class VoiceProxy implements VoiceInput.UiListener { } public void switchToRecognitionStatusView(final Configuration configuration) { + if (!VOICE_INSTALLED) { + return; + } mHandler.post(new Runnable() { @Override public void run() { @@ -597,6 +609,9 @@ public class VoiceProxy implements VoiceInput.UiListener { } private void switchToLastInputMethod() { + if (!VOICE_INSTALLED) { + return; + } final IBinder token = mService.getWindow().getWindow().getAttributes().token; new AsyncTask() { @Override @@ -662,14 +677,15 @@ public class VoiceProxy implements VoiceInput.UiListener { } public void startListening(final boolean swipe, IBinder token) { + if (!VOICE_INSTALLED) { + return; + } // TODO: remove swipe which is no longer used. - if (VOICE_INSTALLED) { - if (needsToShowWarningDialog()) { - // Calls reallyStartListening if user clicks OK, does nothing if user clicks Cancel. - showVoiceWarningDialog(swipe, token); - } else { - reallyStartListening(swipe); - } + if (needsToShowWarningDialog()) { + // Calls reallyStartListening if user clicks OK, does nothing if user clicks Cancel. + showVoiceWarningDialog(swipe, token); + } else { + reallyStartListening(swipe); } } @@ -704,17 +720,18 @@ public class VoiceProxy implements VoiceInput.UiListener { mLocaleSupportedForVoiceInput = SubtypeSwitcher.getInstance().isVoiceSupported( SubtypeSwitcher.getInstance().getInputLocaleStr()); - if (VOICE_INSTALLED) { - final String voiceMode = sp.getString(PREF_VOICE_MODE, - mService.getString(R.string.voice_mode_main)); - mVoiceButtonEnabled = !voiceMode.equals(mService.getString(R.string.voice_mode_off)) - && shouldShowVoiceButton(makeFieldContext(), attribute); - mVoiceButtonOnPrimary = voiceMode.equals(mService.getString(R.string.voice_mode_main)); - } + final String voiceMode = sp.getString(PREF_VOICE_MODE, + mService.getString(R.string.voice_mode_main)); + mVoiceButtonEnabled = !voiceMode.equals(mService.getString(R.string.voice_mode_off)) + && shouldShowVoiceButton(makeFieldContext(), attribute); + mVoiceButtonOnPrimary = voiceMode.equals(mService.getString(R.string.voice_mode_main)); } public void destroy() { - if (VOICE_INSTALLED && mVoiceInput != null) { + if (!VOICE_INSTALLED) { + return; + } + if (mVoiceInput != null) { mVoiceInput.destroy(); } } @@ -826,10 +843,16 @@ public class VoiceProxy implements VoiceInput.UiListener { } public void cancel() { + if (!VOICE_INSTALLED) { + return; + } if (mVoiceInput != null) mVoiceInput.cancel(); } public void reset() { + if (!VOICE_INSTALLED) { + return; + } if (mVoiceInput != null) mVoiceInput.reset(); } } -- cgit v1.2.3 From ab64a7c85974c8e8e319488db2dc025c33939582 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 4 Aug 2011 09:40:25 -0700 Subject: Fix NPE Bug: 5120674 Change-Id: Iedfd7af33a96b68d83d9a844f61ac40b9523ecdb --- java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index 0779964af..811470c26 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -187,13 +187,16 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha } public void save() { + if (mCurrentId == null) { + return; + } mIsAlphabetMode = isAlphabetMode(); if (mIsAlphabetMode) { mIsShiftLocked = isShiftLocked(); mIsShifted = !mIsShiftLocked && isShiftedOrShiftLocked(); } else { mIsShiftLocked = false; - mIsShifted = mSymbolsShiftedKeyboardId.equals(mCurrentId); + mIsShifted = mCurrentId.equals(mSymbolsShiftedKeyboardId); } mIsValid = true; } -- cgit v1.2.3