OSDN Git Service

Reset subtype when the current spell checker was changed.
authorsatok <satok@google.com>
Fri, 26 Aug 2011 10:54:27 +0000 (19:54 +0900)
committersatok <satok@google.com>
Fri, 26 Aug 2011 10:54:27 +0000 (19:54 +0900)
Change-Id: I79099695337dbc5577871458b24c6710fc0ecca7

services/java/com/android/server/TextServicesManagerService.java

index e27c11f..f6c369e 100644 (file)
@@ -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);
         }