summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/accessibilityservice/UiTestAutomationBridge.java11
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));