diff options
author | satok <satok@google.com> | 2011-08-26 19:54:27 +0900 |
---|---|---|
committer | satok <satok@google.com> | 2011-08-26 19:54:27 +0900 |
commit | f39daef102f2dff7517e257eb25c2e3677247e83 (patch) | |
tree | c27517de9e46ad1b3c8a443a0032eb816769a576 /services/java/com/android/server/TextServicesManagerService.java | |
parent | ca6d29da777cffd40d9f3e38f95663ba1a2002c5 (diff) |
Reset subtype when the current spell checker was changed.
Change-Id: I79099695337dbc5577871458b24c6710fc0ecca7
Diffstat (limited to 'services/java/com/android/server/TextServicesManagerService.java')
-rw-r--r-- | services/java/com/android/server/TextServicesManagerService.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/services/java/com/android/server/TextServicesManagerService.java b/services/java/com/android/server/TextServicesManagerService.java index e27c11f70446..f6c369eacddf 100644 --- a/services/java/com/android/server/TextServicesManagerService.java +++ b/services/java/com/android/server/TextServicesManagerService.java @@ -416,10 +416,16 @@ public class TextServicesManagerService extends ITextServicesManager.Stub { Slog.w(TAG, "setCurrentSpellChecker: " + sciId); } if (TextUtils.isEmpty(sciId) || !mSpellCheckerMap.containsKey(sciId)) return; + final SpellCheckerInfo currentSci = getCurrentSpellChecker(null); + if (currentSci != null && currentSci.getId().equals(sciId)) { + // Do nothing if the current spell checker is same as new spell checker. + return; + } final long ident = Binder.clearCallingIdentity(); try { Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.SELECTED_SPELL_CHECKER, sciId); + setCurrentSpellCheckerSubtypeLocked(0); } finally { Binder.restoreCallingIdentity(ident); } |