[IL75] Move the SubtypeSwitcher out of InputLogic.

Bug: 8636060
Change-Id: I2a5da27e73cf378e55bd80ab2054c1ba8b13f6ec
This commit is contained in:
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 {
codeToSend = codePoint;
}
mInputLogic.onCodeInput(codeToSend, keyX, keyY, mHandler, mKeyboardSwitcher,
mSubtypeSwitcher);
if (Constants.CODE_SHORTCUT == codePoint) {
mSubtypeSwitcher.switchToShortcutIME(this);
// Still call the *#onCodeInput methods for readability.
}
mInputLogic.onCodeInput(codeToSend, keyX, keyY, mHandler, mKeyboardSwitcher);
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.LatinImeLogger;
import com.android.inputmethod.latin.RichInputConnection;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.Suggest;
import com.android.inputmethod.latin.Suggest.OnGetSuggestedWordsCallback;
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.
*/
public void onCodeInput(final int code, final int x, final int y,
// TODO: remove these three arguments
final LatinIME.UIHandler handler,
final KeyboardSwitcher keyboardSwitcher, final SubtypeSwitcher subtypeSwitcher) {
// TODO: remove these two arguments
final LatinIME.UIHandler handler, final KeyboardSwitcher keyboardSwitcher) {
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
ResearchLogger.latinIME_onCodeInput(code, x, y);
}
@ -247,7 +245,8 @@ public final class InputLogic {
onSettingsKeyPressed();
break;
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;
case Constants.CODE_ACTION_NEXT:
performEditorAction(EditorInfo.IME_ACTION_NEXT);