Update Settings properly when no Spell Checker is available.

Currently, Settings is not being updated properly when the current spell
checker service is removed or disabled and there is no other spell
checker service available. The correct behavior is that Secure.Settings
should be updated with empty string to indicate there is no selected
spell checker service.

Fixes: 64812014
Test: Manually as follows:
  0. Make sure AOSP keyboard is installed.
  1. adb shell settings put --user 0 secure selected_spell_checker com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
  2. tapas SampleSpellCheckerService
  3. make -j
  4. adb install --user 0  -r out/target/product/generic/system/app/SampleSpellCheckerService/SampleSpellCheckerService.apk
  5. adb shell pm disable com.android.inputmethod.latin
  6. adb shell settings get --user 0 secure selected_spell_checker
      -> com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
  7. adb uninstall com.example.android.samplespellcheckerservice
  8. adb shell settings get --user 0 secure selected_spell_checker
      -> empty
  9. adb root
  10. adb shell settings get --user 0 secure selected_spell_checker
      -> empty
  11. adb shell pm enable com.android.inputmethod.latin
  12. adb shell settings get --user 0 secure selected_spell_checker
Change-Id: I30902a3d94f2ddef33f4a8067799e98322ae3a03
1 file changed