aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2011-12-08 21:33:09 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-12-08 21:33:09 -0800
commita76c62e92d76d876619e721633ce8f86dd1700c3 (patch)
treeb56d91d46df9de0887f302319e95129592656f29 /java
parent7a16a061e622539e54d7d649dcb8d4965aea575a (diff)
parent96c56cb577ff6b76e2c182f45402842e828c3644 (diff)
downloadlatinime-a76c62e92d76d876619e721633ce8f86dd1700c3.tar.gz
latinime-a76c62e92d76d876619e721633ce8f86dd1700c3.tar.xz
latinime-a76c62e92d76d876619e721633ce8f86dd1700c3.zip
Merge "Remove direct calls of setKeyboardXXX from KeyboardSwitcher"
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java37
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java66
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java2
3 files changed, 54 insertions, 51 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 0e8b0f602..7e7f2b871 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -164,7 +164,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions,
mKeyboardView.setKeyboard(keyboard);
mCurrentInputView.setKeyboardGeometry(keyboard.mTopPadding);
mCurrentId = keyboard.mId;
- mState.onSetKeyboard(isAlphabetMode());
updateShiftLockState(keyboard);
mKeyboardView.setKeyPreviewPopupEnabled(
SettingsValues.isKeyPreviewPopupEnabled(mPrefs, mResources),
@@ -362,15 +361,7 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions,
if (DEBUG_STATE) {
Log.d(TAG, "toggleShift: " + mState);
}
- if (isAlphabetMode()) {
- setShifted(mState.isShiftedOrShiftLocked() ? UNSHIFT : MANUAL_SHIFT);
- } else {
- if (isSymbolShifted()) {
- setSymbolsKeyboard();
- } else {
- setSymbolsShiftedKeyboard();
- }
- }
+ mState.onToggleShift(isAlphabetMode(), isSymbolShifted());
}
/**
@@ -380,31 +371,17 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions,
if (DEBUG_STATE) {
Log.d(TAG, "toggleCapsLock: " + mState);
}
- if (isAlphabetMode()) {
- if (mState.isShiftLocked()) {
- setShiftLocked(false);
- // TODO: Remove this.
- // Shift key is long pressed while caps lock state, we will toggle back to normal
- // state. And mark as if shift key is released.
- mState.onReleaseCapsLock();
- } else {
- setShiftLocked(true);
- }
- }
+ mState.onToggleCapsLock(isAlphabetMode());
}
/**
- * Toggle keyboard mode triggered by user touch event.
+ * Toggle between alphabet and symbols modes triggered by user touch event.
*/
- public void toggleKeyboardMode() {
+ public void toggleAlphabetAndSymbols() {
if (DEBUG_STATE) {
- Log.d(TAG, "toggleKeyboardMode: " + mState);
- }
- if (isAlphabetMode()) {
- setSymbolsKeyboard();
- } else {
- setAlphabetKeyboard();
+ Log.d(TAG, "toggleAlphabetAndSymbols: " + mState);
}
+ mState.onToggleAlphabetAndSymbols(isAlphabetMode());
}
/**
@@ -464,7 +441,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions,
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void setSymbolsKeyboard() {
- mState.onSaveShiftLockState();
setKeyboard(getKeyboard(mSymbolsKeyboardId));
}
@@ -472,7 +448,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions,
@Override
public void setAlphabetKeyboard() {
setKeyboard(getKeyboard(mMainKeyboardId));
- mState.onRestoreShiftLockState();
}
// TODO: Remove this method
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index 95c9162ef..c952ea62a 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -105,12 +105,12 @@ public class KeyboardState {
+ " shiftLocked=" + state.mIsShiftLocked + " shift=" + state.mIsShifted);
}
if (!state.mIsValid || state.mIsAlphabetMode) {
- mSwitchActions.setAlphabetKeyboard();
+ setAlphabetKeyboard();
} else {
if (state.mIsShifted) {
- mSwitchActions.setSymbolsShiftedKeyboard();
+ setSymbolsShiftedKeyboard();
} else {
- mSwitchActions.setSymbolsKeyboard();
+ setSymbolsKeyboard();
}
}
@@ -126,11 +126,6 @@ public class KeyboardState {
}
}
- // TODO: Get rid of this method
- public void onSetKeyboard(boolean isAlphabetMode) {
- mSwitchState = isAlphabetMode ? SWITCH_STATE_ALPHA : SWITCH_STATE_SYMBOL_BEGIN;
- }
-
public boolean isShiftLocked() {
return mKeyboardShiftState.isShiftLocked();
}
@@ -172,32 +167,36 @@ public class KeyboardState {
private void toggleAlphabetAndSymbols(boolean isAlphabetMode) {
if (isAlphabetMode) {
- mSwitchActions.setSymbolsKeyboard();
+ setSymbolsKeyboard();
} else {
- mSwitchActions.setAlphabetKeyboard();
+ setAlphabetKeyboard();
}
}
private void toggleShiftInSymbols(boolean isSymbolShifted) {
if (isSymbolShifted) {
- mSwitchActions.setSymbolsKeyboard();
+ setSymbolsKeyboard();
} else {
- mSwitchActions.setSymbolsShiftedKeyboard();
+ setSymbolsShiftedKeyboard();
}
}
- public void onRestoreShiftLockState() {
+ private void setAlphabetKeyboard() {
+ mSwitchActions.setAlphabetKeyboard();
+ mSwitchState = SWITCH_STATE_ALPHA;
mSwitchActions.setShiftLocked(mPrevMainKeyboardWasShiftLocked);
mPrevMainKeyboardWasShiftLocked = false;
}
- public void onSaveShiftLockState() {
+ private void setSymbolsKeyboard() {
mPrevMainKeyboardWasShiftLocked = isShiftLocked();
+ mSwitchActions.setSymbolsKeyboard();
+ mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
}
- // TODO: Remove this method.
- public void onReleaseCapsLock() {
- mShiftKeyState.onRelease();
+ private void setSymbolsShiftedKeyboard() {
+ mSwitchActions.setSymbolsShiftedKeyboard();
+ mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
}
// TODO: Get rid of isAlphabetMode argument.
@@ -384,7 +383,7 @@ public class KeyboardState {
}
// Snap back to alpha keyboard mode immediately if user types a quote character.
if (isLayoutSwitchBackCharacter(code)) {
- mSwitchActions.setAlphabetKeyboard();
+ setAlphabetKeyboard();
}
break;
case SWITCH_STATE_SYMBOL:
@@ -392,12 +391,41 @@ public class KeyboardState {
// Snap back to alpha keyboard mode if user types one or more non-space/enter
// characters followed by a space/enter or a quote character.
if (isSpaceCharacter(code) || isLayoutSwitchBackCharacter(code)) {
- mSwitchActions.setAlphabetKeyboard();
+ setAlphabetKeyboard();
}
break;
}
}
+ // TODO: Get rid of isAlphabetMode and isSymbolShifted arguments.
+ public void onToggleShift(boolean isAlphabetMode, boolean isSymbolShifted) {
+ if (isAlphabetMode) {
+ mSwitchActions.setShifted(
+ isShiftedOrShiftLocked() ? SwitchActions.UNSHIFT : SwitchActions.MANUAL_SHIFT);
+ } else {
+ toggleShiftInSymbols(isSymbolShifted);
+ }
+ }
+
+ // TODO: Get rid of isAlphabetMode arguments.
+ public void onToggleCapsLock(boolean isAlphabetMode) {
+ if (isAlphabetMode) {
+ if (isShiftLocked()) {
+ mSwitchActions.setShiftLocked(false);
+ // Shift key is long pressed while caps lock state, we will toggle back to normal
+ // state. And mark as if shift key is released.
+ mShiftKeyState.onRelease();
+ } else {
+ mSwitchActions.setShiftLocked(true);
+ }
+ }
+ }
+
+ // TODO: Get rid of isAlphabetMode arguments.
+ public void onToggleAlphabetAndSymbols(boolean isAlphabetMode) {
+ toggleAlphabetAndSymbols(isAlphabetMode);
+ }
+
private static String switchStateToString(int switchState) {
switch (switchState) {
case SWITCH_STATE_ALPHA: return "ALPHA";
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index ce14273a5..602de9203 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1335,7 +1335,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
case Keyboard.CODE_SWITCH_ALPHA_SYMBOL:
// Symbol key is handled in onPress() when device has distinct multi-touch panel.
if (!distinctMultiTouch) {
- switcher.toggleKeyboardMode();
+ switcher.toggleAlphabetAndSymbols();
}
break;
case Keyboard.CODE_CANCEL: