Merge "Refactor symbol key state into KeyboardSwitcher"

main
Tadashi G. Takaoka 2010-11-16 01:17:26 -08:00 committed by Android (Google) Code Review
commit 89cfd23f34
2 changed files with 22 additions and 5 deletions

View File

@ -75,6 +75,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private final LatinIME mInputMethodService;
private final LanguageSwitcher mLanguageSwitcher;
private ModifierKeyState mSymbolKeyState = new ModifierKeyState();
private KeyboardId mSymbolsId;
private KeyboardId mSymbolsShiftedId;
@ -382,6 +383,23 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
mInputView.setShiftLocked(shiftLocked);
}
public void onPressSymbol() {
mSymbolKeyState.onPress();
}
public void onReleaseSymbol() {
mSymbolKeyState.onRelease();
}
public boolean isSymbolMomentary() {
return mSymbolKeyState.isMomentary();
}
public void onOtherKeyPressed() {
// TODO: shift key state will be handled too.
mSymbolKeyState.onOtherKeyPressed();
}
public void toggleShift() {
if (isAlphabetMode())
return;

View File

@ -241,7 +241,6 @@ public class LatinIME extends InputMethodService
// Modifier keys state
private final ModifierKeyState mShiftKeyState = new ModifierKeyState();
private final ModifierKeyState mSymbolKeyState = new ModifierKeyState();
private Tutorial mTutorial;
@ -2323,11 +2322,11 @@ public class LatinIME extends InputMethodService
handleShift();
}
} else if (distinctMultiTouch && primaryCode == BaseKeyboard.KEYCODE_MODE_CHANGE) {
mSymbolKeyState.onPress();
switcher.onPressSymbol();
changeKeyboardMode();
} else {
mShiftKeyState.onOtherKeyPressed();
mSymbolKeyState.onOtherKeyPressed();
switcher.onOtherKeyPressed();
}
}
@ -2352,10 +2351,10 @@ public class LatinIME extends InputMethodService
}
mShiftKeyState.onRelease();
} else if (distinctMultiTouch && primaryCode == BaseKeyboard.KEYCODE_MODE_CHANGE) {
if (mSymbolKeyState.isMomentary()) {
if (switcher.isSymbolMomentary()) {
changeKeyboardMode();
}
mSymbolKeyState.onRelease();
switcher.onReleaseSymbol();
}
}