summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sally Yuen <sallyyuen@google.com> 2022-12-21 16:33:53 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-12-21 16:33:53 +0000
commit037a7fb073f1d937b43b25a30fea284cb2c42f53 (patch)
tree6c7c5331b6ba175c1cf91350db8d29e9c71dfcba
parent4815d3456b52d585e34a99e40be29e0bcae6095a (diff)
parentf3f01c731f22382930a074a3e6db25a6b680fbb7 (diff)
Merge "Clear caches when an A11yDisplayProxy is registered."
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java6
-rw-r--r--services/accessibility/java/com/android/server/accessibility/ProxyManager.java11
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