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)
committerJohan Redestig <johan.redestig@sonymobile.com>
Thu, 9 Apr 2015 17:40:57 +0000 (17:40 +0000)
commit093a6467723208be9c776af7e2b0fdca9841ad20
treedd510f40f80e99d32739d62b82b968670b0177d5
parent189d7e8e5151cc8774f4c7eb1b00e8efabdc627f
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