summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java1
-rw-r--r--services/accessibility/java/com/android/server/accessibility/UiAutomationManager.java16
-rw-r--r--services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java3
3 files changed, 18 insertions, 2 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 0a21b9e27862..58c763a34fa5 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -749,7 +749,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
public void unregisterUiTestAutomationService(IAccessibilityServiceClient serviceClient) {
synchronized (mLock) {
mUiAutomationManager.unregisterUiTestAutomationServiceLocked(serviceClient);
- onUserStateChangedLocked(getCurrentUserStateLocked());
}
}
diff --git a/services/accessibility/java/com/android/server/accessibility/UiAutomationManager.java b/services/accessibility/java/com/android/server/accessibility/UiAutomationManager.java
index f05711265e18..56a95345aad0 100644
--- a/services/accessibility/java/com/android/server/accessibility/UiAutomationManager.java
+++ b/services/accessibility/java/com/android/server/accessibility/UiAutomationManager.java
@@ -28,6 +28,7 @@ import android.os.RemoteException;
import android.util.Slog;
import android.view.accessibility.AccessibilityEvent;
+import com.android.internal.util.DumpUtils;
import com.android.server.wm.WindowManagerInternal;
import java.io.FileDescriptor;
@@ -45,6 +46,8 @@ class UiAutomationManager {
private AccessibilityServiceInfo mUiAutomationServiceInfo;
+ private AccessibilityClientConnection.SystemSupport mSystemSupport;
+
private int mUiAutomationFlags;
private IBinder mUiAutomationServiceOwner;
@@ -92,6 +95,7 @@ class UiAutomationManager {
return;
}
+ mSystemSupport = systemSupport;
mUiAutomationService = new UiAutomationService(context, accessibilityServiceInfo, id,
mainHandler, lock, securityPolicy, systemSupport, windowManagerInternal,
globalActionPerfomer);
@@ -169,6 +173,7 @@ class UiAutomationManager {
mUiAutomationServiceOwner.unlinkToDeath(mUiAutomationServiceOwnerDeathRecipient, 0);
mUiAutomationServiceOwner = null;
}
+ mSystemSupport.onClientChange(false);
}
private class UiAutomationService extends AccessibilityClientConnection {
@@ -224,6 +229,17 @@ class UiAutomationManager {
return true;
}
+ @Override
+ public void dump(FileDescriptor fd, final PrintWriter pw, String[] args) {
+ if (!DumpUtils.checkDumpPermission(mContext, LOG_TAG, pw)) return;
+ synchronized (mLock) {
+ pw.append("Ui Automation[eventTypes="
+ + AccessibilityEvent.eventTypeToString(mEventTypes));
+ pw.append(", notificationTimeout=" + mNotificationTimeout);
+ pw.append("]");
+ }
+ }
+
// Since this isn't really an accessibility service, several methods are just stubbed here.
@Override
public boolean setSoftKeyboardShowMode(int mode) {
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java
index dbebd01e2460..45ecbfb891a5 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/UiAutomationManagerTest.java
@@ -153,13 +153,14 @@ public class UiAutomationManagerTest {
}
@Test
- public void uiAutomationBinderDiesBeforeConnecting_shouldNotCrash() throws Exception {
+ public void uiAutomationBinderDiesBeforeConnecting_notifiesSystem() throws Exception {
register(0);
ArgumentCaptor<IBinder.DeathRecipient> captor = ArgumentCaptor.forClass(
IBinder.DeathRecipient.class);
verify(mMockOwner).linkToDeath(captor.capture(), anyInt());
captor.getValue().binderDied();
mMessageCapturingHandler.sendAllMessages();
+ verify(mMockSystemSupport).onClientChange(false);
}
private void register(int flags) {