[IL75] Move the SubtypeSwitcher out of InputLogic.

Bug: 8636060
Change-Id: I2a5da27e73cf378e55bd80ab2054c1ba8b13f6ec
main
Jean Chalard 2014-01-15 11:27:27 +09:00
parent 0fd556ceca
commit 969c06072d
2 changed files with 9 additions and 7 deletions

View File

@ -1285,8 +1285,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
} else { } else {
codeToSend = codePoint; codeToSend = codePoint;
} }
mInputLogic.onCodeInput(codeToSend, keyX, keyY, mHandler, mKeyboardSwitcher, if (Constants.CODE_SHORTCUT == codePoint) {
mSubtypeSwitcher); mSubtypeSwitcher.switchToShortcutIME(this);
// Still call the *#onCodeInput methods for readability.
}
mInputLogic.onCodeInput(codeToSend, keyX, keyY, mHandler, mKeyboardSwitcher);
mKeyboardSwitcher.onCodeInput(codePoint); mKeyboardSwitcher.onCodeInput(codePoint);
} }

View File

@ -36,7 +36,6 @@ import com.android.inputmethod.latin.LastComposedWord;
import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.RichInputConnection; import com.android.inputmethod.latin.RichInputConnection;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.Suggest; import com.android.inputmethod.latin.Suggest;
import com.android.inputmethod.latin.Suggest.OnGetSuggestedWordsCallback; import com.android.inputmethod.latin.Suggest.OnGetSuggestedWordsCallback;
import com.android.inputmethod.latin.SuggestedWords; import com.android.inputmethod.latin.SuggestedWords;
@ -192,9 +191,8 @@ public final class InputLogic {
* @param y the y-coordinate where the user pressed the key, or NOT_A_COORDINATE. * @param y the y-coordinate where the user pressed the key, or NOT_A_COORDINATE.
*/ */
public void onCodeInput(final int code, final int x, final int y, public void onCodeInput(final int code, final int x, final int y,
// TODO: remove these three arguments // TODO: remove these two arguments
final LatinIME.UIHandler handler, final LatinIME.UIHandler handler, final KeyboardSwitcher keyboardSwitcher) {
final KeyboardSwitcher keyboardSwitcher, final SubtypeSwitcher subtypeSwitcher) {
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
ResearchLogger.latinIME_onCodeInput(code, x, y); ResearchLogger.latinIME_onCodeInput(code, x, y);
} }
@ -247,7 +245,8 @@ public final class InputLogic {
onSettingsKeyPressed(); onSettingsKeyPressed();
break; break;
case Constants.CODE_SHORTCUT: case Constants.CODE_SHORTCUT:
subtypeSwitcher.switchToShortcutIME(mLatinIME); // We need to switch to the shortcut IME. This is handled by LatinIME since the
// input logic has no business with IME switching.
break; break;
case Constants.CODE_ACTION_NEXT: case Constants.CODE_ACTION_NEXT:
performEditorAction(EditorInfo.IME_ACTION_NEXT); performEditorAction(EditorInfo.IME_ACTION_NEXT);