Refactor A11yInteractionClient so every service has its own cache
- Maintain a static collection of caches (sCaches). Lock is sConnectionCache - Initialize a cache when a connection is added. (client.addConnection) - Remove the cache when a connection is removed. (client.removeConnection) - System server should not have its cache initialized, can remove parameter in AccessibiltyInteractionClient constructor I tried to maintain a local reference (mAccessibilityCache) to the service cache for each client to avoid accessing the static collection for each request. But since the process is not immediately killed when the service is turned off, ensuring resources are cleared correctly is big time investment that can be done later if desired. Bug: 192489177 Test: Build and use talkback, do the slew of tests. atest CtsAccessibilityServiceTestCases CtsAccessibilityTestCases CtsUiAutomationTestCases FrameworksServicesTests:com.android.server.accessibility FrameworksCoreTests:com.android.internal.accessibility FrameworksCoreTests:android.view.accessibiliity Change-Id: Ic30f6915c7b3c186a512ed8b410bf6e842eff5fb
Loading
Please register or sign in to comment