OSDN Git Service

Dont crash if there is no spellchecker
authorJohan Redestig <johan.redestig@sonymobile.com>
Sat, 7 Mar 2015 06:48:41 +0000 (07:48 +0100)
committerYohei Yukawa <yukawa@google.com>
Sat, 27 Jun 2015 01:15:13 +0000 (18:15 -0700)
commitb1570d285aeff6338bb39155c0facba78fe6f385
tree68c3d4d6f1d7cf8206bb4b8a6a7db192d12579d1
parent8ac57a16cd42851e535f3914c8f5a7a516982f5c
Dont crash if there is no spellchecker

The fact that isSpellCheckerEnabled returns true does not mean
that getCurrentSpellChecker will return non null. By default
isSpellCheckerEnabled is true in TextServicesSettings, even when
there is no spellchecker service active on the device.

The issue can be verified by disabling the Google Keyboard (assuming
the GMS LatinImeGoogle is used) in Settings|Apps and later
entering Settings|Language & input. Without this patch Settings
crashes at that point with the following stack:

E/AndroidRuntime(13020): Caused by: java.lang.NullPointerException: \
Attempt to invoke virtual method 'java.lang.CharSequence android.vie\
w.textservice.SpellCheckerInfo.loadLabel(android.content.pm.PackageM\
anager)' on a null object reference
E/AndroidRuntime(13020):        at com.android.settings.inputmethod.\
InputMethodAndLanguageSettings.onResume(InputMethodAndLanguageSettin\
gs.java:253)
E/AndroidRuntime(13020):        at android.app.Fragment.performResum\
e(Fragment.java:2096)
E/AndroidRuntime(13020):        at android.app.FragmentManagerImpl.m\
oveToState(FragmentManager.java:928)
E/AndroidRuntime(13020):        at android.app.FragmentManagerImpl.m\
oveToState(FragmentManager.java:1067)

Bug: 19832033
Change-Id: I65e6d269572e064aa6897807b6611ef947d90211
src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java