summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2012-10-10 09:32:34 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-10-10 09:32:36 -0700
commit1a5f387bcf26a6845a4fa744b8f54449ae70082f (patch)
treef84a20fa52c728b831328d1b9517179e2ea68d8f /core/java/android
parentba683efa4134c36f1cf1e7c5ef447ce7068f64c6 (diff)
parent72fa0b35c522e833f4d9fb4282e334d103819c73 (diff)
downloadframeworks_base-1a5f387bcf26a6845a4fa744b8f54449ae70082f.zip
frameworks_base-1a5f387bcf26a6845a4fa744b8f54449ae70082f.tar.gz
frameworks_base-1a5f387bcf26a6845a4fa744b8f54449ae70082f.tar.bz2
Merge "Revert "Don't update the text services locale in the main thread"" into jb-mr1-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/widget/TextView.java39
1 files changed, 1 insertions, 38 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index b75c1e6..410a0ca 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -33,7 +33,6 @@ import android.graphics.RectF;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.inputmethodservice.ExtractEditText;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -133,7 +132,6 @@ import java.io.IOException;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Locale;
-import java.util.concurrent.locks.ReentrantLock;
/**
* Displays text to the user and optionally allows them to edit it. A TextView
@@ -380,9 +378,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private InputFilter[] mFilters = NO_FILTERS;
- private volatile Locale mCurrentTextServicesLocaleCache;
- private final ReentrantLock mCurrentTextServicesLocaleLock = new ReentrantLock();
-
// It is possible to have a selection even when mEditor is null (programmatically set, like when
// a link is pressed). These highlight-related fields do not go in mEditor.
int mHighlightColor = 0x6633B5E5;
@@ -456,8 +451,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
final Resources res = getResources();
final CompatibilityInfo compat = res.getCompatibilityInfo();
- updateTextServicesLocaleAsync();
-
mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
mTextPaint.density = res.getDisplayMetrics().density;
mTextPaint.setCompatibilityScaling(compat.applicationScale);
@@ -7682,43 +7675,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
/**
* This is a temporary method. Future versions may support multi-locale text.
- * Caveat: This method may not return the latest text services locale, but this should be
- * acceptable and it's more important to make this method asynchronous.
*
* @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
*/
- // TODO: Support multi-locale
- // TODO: Update the text services locale immediately after the keyboard locale is switched
- // by catching intent of keyboard switch event
public Locale getTextServicesLocale() {
- if (mCurrentTextServicesLocaleCache == null) {
- // If there is no cached text services locale, just return the default locale.
- mCurrentTextServicesLocaleCache = Locale.getDefault();
- }
- // Start fetching the text services locale asynchronously.
- updateTextServicesLocaleAsync();
- return mCurrentTextServicesLocaleCache;
- }
-
- private void updateTextServicesLocaleAsync() {
- AsyncTask.execute(new Runnable() {
- @Override
- public void run() {
- if (mCurrentTextServicesLocaleLock.tryLock()) {
- try {
- updateTextServicesLocaleLocked();
- } finally {
- mCurrentTextServicesLocaleLock.unlock();
- }
- }
- }
- });
- }
-
- private void updateTextServicesLocaleLocked() {
Locale locale = Locale.getDefault();
final TextServicesManager textServicesManager = (TextServicesManager)
mContext.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
@@ -7726,7 +7689,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
if (subtype != null) {
locale = SpellCheckerSubtype.constructLocaleFromString(subtype.getLocale());
}
- mCurrentTextServicesLocaleCache = locale;
+ return locale;
}
void onLocaleChanged() {