diff options
| author | 2022-12-21 16:33:53 +0000 | |
|---|---|---|
| committer | 2022-12-21 16:33:53 +0000 | |
| commit | 037a7fb073f1d937b43b25a30fea284cb2c42f53 (patch) | |
| tree | 6c7c5331b6ba175c1cf91350db8d29e9c71dfcba | |
| parent | 4815d3456b52d585e34a99e40be29e0bcae6095a (diff) | |
| parent | f3f01c731f22382930a074a3e6db25a6b680fbb7 (diff) | |
Merge "Clear caches when an A11yDisplayProxy is registered."
| -rw-r--r-- | services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java | 6 | ||||
| -rw-r--r-- | services/accessibility/java/com/android/server/accessibility/ProxyManager.java | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index b6fecf5d8d76..1183d6b96b02 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -1760,6 +1760,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub AccessibilityServiceConnection service = state.mBoundServices.get(i); service.notifyClearAccessibilityNodeInfoCache(); } + + mProxyManager.clearCacheLocked(); } private void notifyMagnificationChangedLocked(int displayId, @NonNull Region region, @@ -3714,6 +3716,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub mProxyManager.registerProxy(client, displayId, mContext, sIdCounter++, mMainHandler, mSecurityPolicy, this, getTraceManager(), mWindowManagerService, mA11yWindowManager); + + synchronized (mLock) { + notifyClearAccessibilityCacheLocked(); + } return true; } diff --git a/services/accessibility/java/com/android/server/accessibility/ProxyManager.java b/services/accessibility/java/com/android/server/accessibility/ProxyManager.java index 85273586e5dc..fcbdc4e19fe5 100644 --- a/services/accessibility/java/com/android/server/accessibility/ProxyManager.java +++ b/services/accessibility/java/com/android/server/accessibility/ProxyManager.java @@ -235,4 +235,15 @@ public class ProxyManager { } } } + + /** + * Clears all proxy caches. + */ + public void clearCacheLocked() { + for (int i = 0; i < mProxyA11yServiceConnections.size(); i++) { + final ProxyAccessibilityServiceConnection proxy = + mProxyA11yServiceConnections.valueAt(i); + proxy.notifyClearAccessibilityNodeInfoCache(); + } + } }
\ No newline at end of file |