aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java6
-rw-r--r--tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java6
3 files changed, 17 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 2add2921b..54d842f09 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -324,6 +324,12 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions,
setKeyboard(mKeyboardSet.getSymbolsShiftedKeyboard());
}
+ // Implements {@link KeyboardState.SwitchActions}.
+ @Override
+ public void requestUpdatingShiftState() {
+ mState.onUpdateShiftState(mInputMethodService.getCurrentAutoCapsState());
+ }
+
public boolean isInMomentarySwitchState() {
return mState.isInMomentarySwitchState();
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index f54bdbb05..42f069c83 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -53,6 +53,11 @@ public class KeyboardState {
public void setSymbolsKeyboard();
public void setSymbolsShiftedKeyboard();
+
+ /**
+ * Request to call back {@link KeyboardState#onUpdateShiftState(boolean)}.
+ */
+ public void requestUpdatingShiftState();
}
private KeyboardShiftState mKeyboardShiftState = new KeyboardShiftState();
@@ -212,6 +217,7 @@ public class KeyboardState {
mSwitchState = SWITCH_STATE_ALPHA;
setShiftLocked(mPrevMainKeyboardWasShiftLocked);
mPrevMainKeyboardWasShiftLocked = false;
+ mSwitchActions.requestUpdatingShiftState();
}
private void setSymbolsKeyboard() {
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java
index 9dc1fac3e..006a57266 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeyboardStateTests.java
@@ -71,6 +71,11 @@ public class KeyboardStateTests extends AndroidTestCase {
mLayout = SYMBOLS_SHIFTED;
}
+ @Override
+ public void requestUpdatingShiftState() {
+ mState.onUpdateShiftState(mAutoCaps);
+ }
+
public void toggleCapsLock() {
mState.onToggleCapsLock();
}
@@ -111,7 +116,6 @@ public class KeyboardStateTests extends AndroidTestCase {
public void onCancelInput(boolean isSinglePointer) {
mState.onCancelInput(isSinglePointer);
}
-
}
private MockKeyboardSwitcher mSwitcher;