commit | 3e88d987235f5a2acd50a9b6bad78dbbf39cb079 | [log] [tgz] |
---|---|---|
author | Daniel Norman <danielnorman@google.com> | Fri Nov 17 20:53:05 2023 +0000 |
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Wed Dec 06 22:43:56 2023 +0000 |
tree | 28a7bbfeb9701a5730b5658b85e08b48df87a31f | |
parent | a8fb9fe93efdebc4145e00934f42c91742f328de [diff] |
Enforce permission INJECT_EVENTS for injecting to input filter. Bug: 309426390 Test: atest CtsAccessibilityTestCases:AccessibilityManagerTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e83d6c801bb4f97b9b4b54280ac9e1486e622313) Merged-In: I4a63583dcd1c7a7c388fb278ec1c1c53c135e934 Change-Id: I4a63583dcd1c7a7c388fb278ec1c1c53c135e934
diff --git a/core/java/android/app/UiAutomationConnection.java b/core/java/android/app/UiAutomationConnection.java index 34f0964..9831885 100644 --- a/core/java/android/app/UiAutomationConnection.java +++ b/core/java/android/app/UiAutomationConnection.java
@@ -183,6 +183,11 @@ @Override public void injectInputEventToInputFilter(InputEvent event) throws RemoteException { + synchronized (mLock) { + throwIfCalledByNotTrustedUidLocked(); + throwIfShutdownLocked(); + throwIfNotConnectedLocked(); + } mAccessibilityManager.injectInputEventToInputFilter(event); }
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index fdb28ba..5312279 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -5232,6 +5232,8 @@ @Override public void injectInputEventToInputFilter(InputEvent event) { + mSecurityPolicy.enforceCallingPermission(Manifest.permission.INJECT_EVENTS, + "injectInputEventToInputFilter"); synchronized (mLock) { final long endMillis = SystemClock.uptimeMillis() + WAIT_INPUT_FILTER_INSTALL_TIMEOUT_MS;