diff options
author | satok <satok@google.com> | 2011-11-02 19:29:35 +0900 |
---|---|---|
committer | satok <satok@google.com> | 2011-11-10 07:54:52 +0900 |
commit | 05f24700613fb4dce95fb6d5f8fe460d7a30c128 (patch) | |
tree | 9ebd1e4f10aeed190c0fea675bef052669ac9d1c /core/java/android/widget/TextView.java | |
parent | 76bb11ca642556673249a6ef8b84ab2813deaa87 (diff) | |
download | frameworks_base-05f24700613fb4dce95fb6d5f8fe460d7a30c128.zip frameworks_base-05f24700613fb4dce95fb6d5f8fe460d7a30c128.tar.gz frameworks_base-05f24700613fb4dce95fb6d5f8fe460d7a30c128.tar.bz2 |
Respect user settings for spell checking language if explicitly set
Bug: 5554116
Change-Id: I8c16d732af1fe713d30d97dfe829ff16653c7f34
Diffstat (limited to 'core/java/android/widget/TextView.java')
-rw-r--r-- | core/java/android/widget/TextView.java | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 5833afd..add1591 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -133,6 +133,8 @@ import android.view.inputmethod.ExtractedTextRequest; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodSubtype; +import android.view.textservice.SpellCheckerSubtype; +import android.view.textservice.TextServicesManager; import android.widget.AdapterView.OnItemClickListener; import android.widget.RemoteViews.RemoteView; @@ -8904,21 +8906,18 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener /** * This is a temporary method. Future versions may support multi-locale text. * - * @return The current locale used in this TextView, based on the current IME's locale, - * or the system default locale if this is not defined. + * @return The locale that should be used for a word iterator and a spell checker + * in this TextView, based on the current spell checker settings, + * the current IME's locale, or the system default locale. * @hide */ - public Locale getLocale() { + public Locale getTextServicesLocale() { Locale locale = Locale.getDefault(); - final InputMethodManager imm = InputMethodManager.peekInstance(); - if (imm != null) { - final InputMethodSubtype currentInputMethodSubtype = imm.getCurrentInputMethodSubtype(); - if (currentInputMethodSubtype != null) { - String localeString = currentInputMethodSubtype.getLocale(); - if (!TextUtils.isEmpty(localeString)) { - locale = new Locale(localeString); - } - } + final TextServicesManager textServicesManager = (TextServicesManager) + mContext.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE); + final SpellCheckerSubtype subtype = textServicesManager.getCurrentSpellCheckerSubtype(true); + if (subtype != null) { + locale = new Locale(subtype.getLocale()); } return locale; } @@ -8933,7 +8932,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener */ public WordIterator getWordIterator() { if (mWordIterator == null) { - mWordIterator = new WordIterator(getLocale()); + mWordIterator = new WordIterator(getTextServicesLocale()); } return mWordIterator; } |