From 727dcc7e6b43902edaab88e7adfb1a8b88fd482b Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Fri, 5 Jun 2015 17:13:19 -0700 Subject: [PATCH] Obtain handler from context in CaptioningManager Rather than the current thread, which prevented us from loading the CaptionManager in a CTS test. Bug: 15389946 Change-Id: Ic0037cc2ecfcab57545088ab63ed5cb9742206a7 --- .../view/accessibility/CaptioningManager.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/core/java/android/view/accessibility/CaptioningManager.java b/core/java/android/view/accessibility/CaptioningManager.java index 382a266619c9e..410d39cb18c4f 100644 --- a/core/java/android/view/accessibility/CaptioningManager.java +++ b/core/java/android/view/accessibility/CaptioningManager.java @@ -52,11 +52,9 @@ public class CaptioningManager { /** Default scaling value for caption fonts. */ private static final float DEFAULT_FONT_SCALE = 1; - private final ArrayList - mListeners = new ArrayList(); - private final Handler mHandler = new Handler(); - + private final ArrayList mListeners = new ArrayList<>(); private final ContentResolver mContentResolver; + private final ContentObserver mContentObserver; /** * Creates a new captioning manager for the specified context. @@ -65,6 +63,9 @@ public class CaptioningManager { */ public CaptioningManager(Context context) { mContentResolver = context.getContentResolver(); + + final Handler handler = new Handler(context.getMainLooper()); + mContentObserver = new MyContentObserver(handler); } /** @@ -220,7 +221,15 @@ public class CaptioningManager { } } - private final ContentObserver mContentObserver = new ContentObserver(mHandler) { + private class MyContentObserver extends ContentObserver { + private final Handler mHandler; + + public MyContentObserver(Handler handler) { + super(handler); + + mHandler = handler; + } + @Override public void onChange(boolean selfChange, Uri uri) { final String uriPath = uri.getPath();