From 139936a029574b25f1c906ac8a3e058e26908f73 Mon Sep 17 00:00:00 2001 From: Ameer Armaly Date: Tue, 11 Apr 2023 21:01:41 +0000 Subject: [PATCH] [DO NOT MERGE] Make a11y overlays trusted. Fix: 271488755 Test: atest accessibilityOverlayTest Change-Id: I1e273f22b0bae240027bfdb7e860e227096de00c --- .../AbstractAccessibilityServiceConnection.java | 3 +++ .../server/accessibility/AccessibilityManagerService.java | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java index 7463061256b76..a324b2ff88e8e 100644 --- a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java +++ b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java @@ -2551,6 +2551,9 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ @Override public void attachAccessibilityOverlayToWindow(int accessibilityWindowId, SurfaceControl sc) throws RemoteException { + SurfaceControl.Transaction t = new SurfaceControl.Transaction(); + t.setTrustedOverlay(sc, true).apply(); + t.close(); synchronized (mLock) { RemoteAccessibilityConnection connection = mA11yWindowManager.getConnectionLocked( diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index e894f1c2879e1..2d1290caf32d8 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -5329,9 +5329,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub mA11yOverlayLayers.remove(displayId); return; } - SurfaceControl.Transaction transaction = new SurfaceControl.Transaction(); - transaction.reparent(sc, parent); - transaction.apply(); - transaction.close(); + SurfaceControl.Transaction t = new SurfaceControl.Transaction(); + t.reparent(sc, parent).setTrustedOverlay(sc, true).apply(); + t.close(); } }