Fix an NPE found in KeyboardSwitcher.isAlphabetMode()

Change-Id: I03d3d9b25147632d25c1502f796acad4cdaeb239
main
Ken Wakasa 2010-08-20 18:28:22 +09:00
parent 979f869096
commit 17dc363a63
2 changed files with 4 additions and 1 deletions

View File

@ -335,6 +335,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
} }
boolean isAlphabetMode() { boolean isAlphabetMode() {
if (mCurrentId == null) {
return false;
}
int currentMode = mCurrentId.mKeyboardMode; int currentMode = mCurrentId.mKeyboardMode;
for (Integer mode : ALPHABET_MODES) { for (Integer mode : ALPHABET_MODES) {
if (currentMode == mode) { if (currentMode == mode) {

View File

@ -968,7 +968,7 @@ public class LatinIME extends InputMethodService
public void updateShiftKeyState(EditorInfo attr) { public void updateShiftKeyState(EditorInfo attr) {
InputConnection ic = getCurrentInputConnection(); InputConnection ic = getCurrentInputConnection();
if (attr != null && mKeyboardSwitcher.isAlphabetMode() && ic != null) { if (ic != null && attr != null && mKeyboardSwitcher.isAlphabetMode()) {
mKeyboardSwitcher.setShifted(mCapsLock || getCursorCapsMode(ic, attr) != 0); mKeyboardSwitcher.setShifted(mCapsLock || getCursorCapsMode(ic, attr) != 0);
} }
} }