Support separating A11yManagers by device id
An AccessibilityManagerClient is now associated with a device id. Usually this is the default device (phone), but if a proxy is registered for a display that belongs to a virtual device, a client will be assosiated with that device's id, and updates will happen based on state held by the ProxyManager. When broadcasting to Clients, check the device id. Clients are "moved" back to the default device and updated with the current user state if 1. the virtual device is closed or 2.a proxy is unregistered and there are no more active proxies belonging to that device. onProxyChanged behaves like onClientChanged/onUserStateChanged to update the clients and some system state (like updating window tracking). All IAccessibilityManagerClient methods (except setUiContrast) are called by ProxyManager. Additional changes: - Remove onProxyChanged/onClientChanged in ProxyManager#registerProxy. Inform apps of a new proxy after the proxy's installed and enabled service infos have propagated (in ProxyA11yServiceConnection). - Call A11yInputFilter from the main thread, since it's not thread safe. - Add more dump logging See video in the comments Bug: 254545943 Test: atest AccessibilityDisplayProxyTest Change-Id: If4be657d9fe7a3cdba1437a1f2433b3fab5193b6
Loading
Please register or sign in to comment