aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2010-11-08 23:24:19 -0800
committerTadashi G. Takaoka <takaoka@google.com>2010-11-08 23:50:27 -0800
commitf8e30a91537b8b4920887d0d4f0771de3a23c4cb (patch)
treefbb8aa380782f41f7fec7bebe2633485ddea7eb3 /java/src/com/android/inputmethod
parente302b19ddd7fbcf158fc69cf6bb823458b506675 (diff)
downloadlatinime-f8e30a91537b8b4920887d0d4f0771de3a23c4cb.tar.gz
latinime-f8e30a91537b8b4920887d0d4f0771de3a23c4cb.tar.xz
latinime-f8e30a91537b8b4920887d0d4f0771de3a23c4cb.zip
Refactor calling KeyboardSwitcher.setKeyboardMode
This change also eliminates unnecessary recursive call in KeyboardSwitcher.setKeyboardMode. Change-Id: Iff25fe23b34227d526dee0bbe8710842545c2afa
Diffstat (limited to 'java/src/com/android/inputmethod')
-rw-r--r--java/src/com/android/inputmethod/latin/KeyboardSwitcher.java4
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java32
2 files changed, 17 insertions, 19 deletions
diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index a79cc2b22..08e9f94df 100644
--- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -298,8 +298,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
mImeOptions = imeOptions;
makeSymbolsKeyboardIds();
if (enableVoice != mHasVoice) {
- // TODO clean up this unnecessary recursive call.
- setVoiceMode(enableVoice, mVoiceOnPrimary);
+ mKeyboards.clear();
+ mHasVoice = enableVoice;
}
mIsSymbols = isSymbols;
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index c255237e7..113027ccc 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -585,9 +585,6 @@ public class LatinIME extends InputMethodService
mPasswordText = true;
}
- mEnableVoiceButton = shouldShowVoiceButton(makeFieldContext(), attribute);
- final boolean enableVoiceButton = mEnableVoiceButton && mEnableVoice;
-
mAfterVoiceInput = false;
mImmediatelyAfterVoiceInput = false;
mShowingVoiceSuggestions = false;
@@ -598,6 +595,7 @@ public class LatinIME extends InputMethodService
mCompletions = null;
mEnteredText = null;
+ final int mode;
switch (attribute.inputType & EditorInfo.TYPE_MASK_CLASS) {
case EditorInfo.TYPE_CLASS_NUMBER:
case EditorInfo.TYPE_CLASS_DATETIME:
@@ -606,12 +604,9 @@ public class LatinIME extends InputMethodService
// a dedicated number entry keypad.
// TODO: Use a dedicated number entry keypad here when we get one.
case EditorInfo.TYPE_CLASS_PHONE:
- mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_PHONE,
- attribute.imeOptions, enableVoiceButton);
+ mode = KeyboardSwitcher.MODE_PHONE;
break;
case EditorInfo.TYPE_CLASS_TEXT:
- mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_TEXT,
- attribute.imeOptions, enableVoiceButton);
//startPrediction();
mPredictionOn = true;
// Make sure that passwords are not displayed in candidate view
@@ -626,25 +621,24 @@ public class LatinIME extends InputMethodService
}
if (isEmailVariation(variation)) {
mPredictionOn = false;
- mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_EMAIL,
- attribute.imeOptions, enableVoiceButton);
+ mode = KeyboardSwitcher.MODE_EMAIL;
} else if (variation == EditorInfo.TYPE_TEXT_VARIATION_URI) {
mPredictionOn = false;
- mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_URL,
- attribute.imeOptions, enableVoiceButton);
+ mode = KeyboardSwitcher.MODE_URL;
} else if (variation == EditorInfo.TYPE_TEXT_VARIATION_SHORT_MESSAGE) {
- mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_IM,
- attribute.imeOptions, enableVoiceButton);
+ mode = KeyboardSwitcher.MODE_IM;
} else if (variation == EditorInfo.TYPE_TEXT_VARIATION_FILTER) {
mPredictionOn = false;
+ mode = KeyboardSwitcher.MODE_TEXT;
} else if (variation == EditorInfo.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT) {
- mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_WEB,
- attribute.imeOptions, enableVoiceButton);
+ mode = KeyboardSwitcher.MODE_WEB;
// If it's a browser edit field and auto correct is not ON explicitly, then
// disable auto correction, but keep suggestions on.
if ((attribute.inputType & EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT) == 0) {
mInputTypeNoAutoCorrect = true;
}
+ } else {
+ mode = KeyboardSwitcher.MODE_TEXT;
}
// If NO_SUGGESTIONS is set, don't do prediction.
@@ -663,15 +657,19 @@ public class LatinIME extends InputMethodService
}
break;
default:
- mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_TEXT,
- attribute.imeOptions, enableVoiceButton);
+ mode = KeyboardSwitcher.MODE_TEXT;
+ break;
}
inputView.closing();
mComposing.setLength(0);
mPredicting = false;
mDeleteCount = 0;
mJustAddedAutoSpace = false;
+
loadSettings();
+ mEnableVoiceButton = shouldShowVoiceButton(makeFieldContext(), attribute);
+ mKeyboardSwitcher.setKeyboardMode(mode, attribute.imeOptions,
+ mEnableVoiceButton && mEnableVoice);
updateShiftKeyState(attribute);
setCandidatesViewShownInternal(isCandidateStripVisible() || mCompletionOn,