Loading services/accessibility/accessibility.aconfig +0 −10 Original line number Diff line number Diff line Loading @@ -10,16 +10,6 @@ flag { bug: "297972548" } flag { name: "allow_secure_screenshots" namespace: "accessibility" description: "Allow certain AccessibilityServices to take screenshots of FLAG_SECURE screens" bug: "373705911" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "always_allow_observing_touch_events" namespace: "accessibility" Loading services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java +52 −61 Original line number Diff line number Diff line Loading @@ -1460,7 +1460,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ AccessibilityService.ERROR_TAKE_SCREENSHOT_INVALID_WINDOW, interactionId); return; } if (Flags.allowSecureScreenshots()) { IWindowSurfaceInfoCallback infoCallback = new IWindowSurfaceInfoCallback.Stub() { @Override Loading Loading @@ -1507,9 +1506,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ } }; connection.getRemote().getWindowSurfaceInfo(infoCallback); } else { connection.getRemote().takeScreenshotOfWindow(interactionId, listener, callback); } } finally { Binder.restoreCallingIdentity(identity); } Loading Loading @@ -1576,7 +1572,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ callback); } }); if (Flags.allowSecureScreenshots()) { final int secureContentPolicy = canCaptureSecureLayers() ? ScreenCaptureParams.SECURE_CONTENT_POLICY_CAPTURE : ScreenCaptureParams.SECURE_CONTENT_POLICY_REDACT; Loading @@ -1586,9 +1581,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ .setSecureContentPolicy(secureContentPolicy) .build(), screenCaptureListener); } else { mWindowManagerService.captureDisplay(displayId, null, screenCaptureListener); } } catch (Exception e) { sendScreenshotFailure(AccessibilityService.ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY, callback); Loading Loading @@ -1630,8 +1622,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ } private boolean canCaptureSecureLayers() { return Flags.allowSecureScreenshots() && mAccessibilityServiceInfo.isAccessibilityTool() return mAccessibilityServiceInfo.isAccessibilityTool() && mAccessibilityServiceInfo.getResolveInfo().serviceInfo .applicationInfo.isSystemApp(); } Loading services/tests/servicestests/src/com/android/server/accessibility/AbstractAccessibilityServiceConnectionTest.java +0 −7 Original line number Diff line number Diff line Loading @@ -91,7 +91,6 @@ import android.os.Process; import android.os.RemoteCallback; import android.os.RemoteException; import android.os.test.FakePermissionEnforcer; import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.SetFlagsRule; import android.util.Pair; import android.view.Display; Loading Loading @@ -786,7 +785,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshot_standardService_cannotCaptureSecureLayers() { setPreinstalledA11yTool(false); Loading @@ -801,7 +799,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshot_preinstalledA11yTool_canCaptureSecureLayers() { setPreinstalledA11yTool(true); Loading @@ -827,7 +824,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_standardWindow_standardService_cannotCaptureSecureLayers() throws Exception { setPreinstalledA11yTool(false); Loading @@ -846,7 +842,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_standardWindow_preinstalledA11yTool_canCaptureSecureLayers() throws Exception { setPreinstalledA11yTool(true); Loading @@ -865,7 +860,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_secureWindow_standardService_sendsCallbackError() throws Exception { setPreinstalledA11yTool(false); Loading @@ -880,7 +874,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_secureWindow_preinstalledA11yTool_canCaptureSecureLayers() throws Exception { setPreinstalledA11yTool(true); Loading Loading
services/accessibility/accessibility.aconfig +0 −10 Original line number Diff line number Diff line Loading @@ -10,16 +10,6 @@ flag { bug: "297972548" } flag { name: "allow_secure_screenshots" namespace: "accessibility" description: "Allow certain AccessibilityServices to take screenshots of FLAG_SECURE screens" bug: "373705911" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "always_allow_observing_touch_events" namespace: "accessibility" Loading
services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java +52 −61 Original line number Diff line number Diff line Loading @@ -1460,7 +1460,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ AccessibilityService.ERROR_TAKE_SCREENSHOT_INVALID_WINDOW, interactionId); return; } if (Flags.allowSecureScreenshots()) { IWindowSurfaceInfoCallback infoCallback = new IWindowSurfaceInfoCallback.Stub() { @Override Loading Loading @@ -1507,9 +1506,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ } }; connection.getRemote().getWindowSurfaceInfo(infoCallback); } else { connection.getRemote().takeScreenshotOfWindow(interactionId, listener, callback); } } finally { Binder.restoreCallingIdentity(identity); } Loading Loading @@ -1576,7 +1572,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ callback); } }); if (Flags.allowSecureScreenshots()) { final int secureContentPolicy = canCaptureSecureLayers() ? ScreenCaptureParams.SECURE_CONTENT_POLICY_CAPTURE : ScreenCaptureParams.SECURE_CONTENT_POLICY_REDACT; Loading @@ -1586,9 +1581,6 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ .setSecureContentPolicy(secureContentPolicy) .build(), screenCaptureListener); } else { mWindowManagerService.captureDisplay(displayId, null, screenCaptureListener); } } catch (Exception e) { sendScreenshotFailure(AccessibilityService.ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY, callback); Loading Loading @@ -1630,8 +1622,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ } private boolean canCaptureSecureLayers() { return Flags.allowSecureScreenshots() && mAccessibilityServiceInfo.isAccessibilityTool() return mAccessibilityServiceInfo.isAccessibilityTool() && mAccessibilityServiceInfo.getResolveInfo().serviceInfo .applicationInfo.isSystemApp(); } Loading
services/tests/servicestests/src/com/android/server/accessibility/AbstractAccessibilityServiceConnectionTest.java +0 −7 Original line number Diff line number Diff line Loading @@ -91,7 +91,6 @@ import android.os.Process; import android.os.RemoteCallback; import android.os.RemoteException; import android.os.test.FakePermissionEnforcer; import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.SetFlagsRule; import android.util.Pair; import android.view.Display; Loading Loading @@ -786,7 +785,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshot_standardService_cannotCaptureSecureLayers() { setPreinstalledA11yTool(false); Loading @@ -801,7 +799,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshot_preinstalledA11yTool_canCaptureSecureLayers() { setPreinstalledA11yTool(true); Loading @@ -827,7 +824,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_standardWindow_standardService_cannotCaptureSecureLayers() throws Exception { setPreinstalledA11yTool(false); Loading @@ -846,7 +842,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_standardWindow_preinstalledA11yTool_canCaptureSecureLayers() throws Exception { setPreinstalledA11yTool(true); Loading @@ -865,7 +860,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_secureWindow_standardService_sendsCallbackError() throws Exception { setPreinstalledA11yTool(false); Loading @@ -880,7 +874,6 @@ public class AbstractAccessibilityServiceConnectionTest { } @Test @EnableFlags(Flags.FLAG_ALLOW_SECURE_SCREENSHOTS) public void takeScreenshotOfWindow_secureWindow_preinstalledA11yTool_canCaptureSecureLayers() throws Exception { setPreinstalledA11yTool(true); Loading