Update shift state when alphabet keyboard has been set

Bug: 5857492
Change-Id: I5ef78af21a76e8cf645e223d1ffa6212690bb1eb
This commit is contained in:
Tadashi G. Takaoka 2012-01-13 20:15:14 +09:00
parent 327c6828a5
commit c88026e1df
3 changed files with 17 additions and 1 deletions

View file

@ -324,6 +324,12 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions,
setKeyboard(mKeyboardSet.getSymbolsShiftedKeyboard()); setKeyboard(mKeyboardSet.getSymbolsShiftedKeyboard());
} }
// Implements {@link KeyboardState.SwitchActions}.
@Override
public void requestUpdatingShiftState() {
mState.onUpdateShiftState(mInputMethodService.getCurrentAutoCapsState());
}
public boolean isInMomentarySwitchState() { public boolean isInMomentarySwitchState() {
return mState.isInMomentarySwitchState(); return mState.isInMomentarySwitchState();
} }

View file

@ -53,6 +53,11 @@ public class KeyboardState {
public void setSymbolsKeyboard(); public void setSymbolsKeyboard();
public void setSymbolsShiftedKeyboard(); public void setSymbolsShiftedKeyboard();
/**
* Request to call back {@link KeyboardState#onUpdateShiftState(boolean)}.
*/
public void requestUpdatingShiftState();
} }
private KeyboardShiftState mKeyboardShiftState = new KeyboardShiftState(); private KeyboardShiftState mKeyboardShiftState = new KeyboardShiftState();
@ -212,6 +217,7 @@ public class KeyboardState {
mSwitchState = SWITCH_STATE_ALPHA; mSwitchState = SWITCH_STATE_ALPHA;
setShiftLocked(mPrevMainKeyboardWasShiftLocked); setShiftLocked(mPrevMainKeyboardWasShiftLocked);
mPrevMainKeyboardWasShiftLocked = false; mPrevMainKeyboardWasShiftLocked = false;
mSwitchActions.requestUpdatingShiftState();
} }
private void setSymbolsKeyboard() { private void setSymbolsKeyboard() {

View file

@ -71,6 +71,11 @@ public class KeyboardStateTests extends AndroidTestCase {
mLayout = SYMBOLS_SHIFTED; mLayout = SYMBOLS_SHIFTED;
} }
@Override
public void requestUpdatingShiftState() {
mState.onUpdateShiftState(mAutoCaps);
}
public void toggleCapsLock() { public void toggleCapsLock() {
mState.onToggleCapsLock(); mState.onToggleCapsLock();
} }
@ -111,7 +116,6 @@ public class KeyboardStateTests extends AndroidTestCase {
public void onCancelInput(boolean isSinglePointer) { public void onCancelInput(boolean isSinglePointer) {
mState.onCancelInput(isSinglePointer); mState.onCancelInput(isSinglePointer);
} }
} }
private MockKeyboardSwitcher mSwitcher; private MockKeyboardSwitcher mSwitcher;