From 31f0544293fdfc134452c630b4813adc97d05ee7 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Mon, 3 Jun 2013 14:19:54 -0700 Subject: [PATCH] Remove unnecessary lock to save 1 allocation per TextView Change-Id: I4fb885c61b44e57b8abaf3beedf61aaab3ef5d71 --- core/java/android/widget/TextView.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index b1692d7900d4..4410c2e8d812 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -548,7 +548,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private InputFilter[] mFilters = NO_FILTERS; private volatile Locale mCurrentSpellCheckerLocaleCache; - 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. @@ -8023,16 +8022,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } private void updateTextServicesLocaleAsync() { + // AsyncTask.execute() uses a serial executor which means we don't have + // to lock around updateTextServicesLocaleLocked() to prevent it from + // being executed n times in parallel. AsyncTask.execute(new Runnable() { @Override public void run() { - if (mCurrentTextServicesLocaleLock.tryLock()) { - try { - updateTextServicesLocaleLocked(); - } finally { - mCurrentTextServicesLocaleLock.unlock(); - } - } + updateTextServicesLocaleLocked(); } }); } -- 2.11.0