summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Svetoslav <svetoslavganov@google.com> 2014-10-01 15:02:24 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2014-10-01 15:02:24 +0000
commit6cda1b3fd20443e2114910ed04fa4b53449ae4f3 (patch)
treef7e67b08f817f36ee56d170a48bf5fcaee58491b
parentd164460e692762226560af77b6b360ae83335b8f (diff)
parent6b491b64ba7200a85199452b6a7f99c777105f22 (diff)
am 6b491b64: Merge "Invalid accessibility state if UI test process crashes in a bad time." into lmp-dev
* commit '6b491b64ba7200a85199452b6a7f99c777105f22': Invalid accessibility state if UI test process crashes in a bad time.
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 1253bc7c7453..cc1742210893 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -2004,7 +2004,15 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
} else {
userState.mBindingServices.add(mComponentName);
mService = userState.mUiAutomationServiceClient.asBinder();
- onServiceConnected(mComponentName, mService);
+ mMainHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ // Simulate asynchronous connection since in onServiceConnected
+ // we may modify the state data in case of an error but bind is
+ // called while iterating over the data and bad things can happen.
+ onServiceConnected(mComponentName, mService);
+ }
+ });
userState.mUiAutomationService = this;
}
return false;