diff options
| -rw-r--r-- | core/java/android/accessibilityservice/UiTestAutomationBridge.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/core/java/android/accessibilityservice/UiTestAutomationBridge.java b/core/java/android/accessibilityservice/UiTestAutomationBridge.java index 9b3da53a6701..a898c3f6ae55 100644 --- a/core/java/android/accessibilityservice/UiTestAutomationBridge.java +++ b/core/java/android/accessibilityservice/UiTestAutomationBridge.java @@ -74,6 +74,8 @@ public class UiTestAutomationBridge { private volatile boolean mUnprocessedEventAvailable; + private HandlerThread mHandlerThread; + /** * Gets the last received {@link AccessibilityEvent}. * @@ -126,9 +128,10 @@ public class UiTestAutomationBridge { // is needed for making sure the binder calls are interleaved // with check for the expected event and also to make sure the // binder threads are allowed to proceed in the received order. - HandlerThread handlerThread = new HandlerThread("UiTestAutomationBridge"); - handlerThread.start(); - Looper looper = handlerThread.getLooper(); + mHandlerThread = new HandlerThread("UiTestAutomationBridge"); + mHandlerThread.setDaemon(true); + mHandlerThread.start(); + Looper looper = mHandlerThread.getLooper(); mListener = new IEventListenerWrapper(null, looper, new Callbacks() { @Override @@ -217,6 +220,8 @@ public class UiTestAutomationBridge { throw new IllegalStateException("Already disconnected."); } + mHandlerThread.quit(); + IAccessibilityManager manager = IAccessibilityManager.Stub.asInterface( ServiceManager.getService(Context.ACCESSIBILITY_SERVICE)); |