diff options
author | Daniel Norman <danielnorman@google.com> | 2023-11-17 20:53:05 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-15 02:45:14 +0000 |
commit | a3a504b26fddd1e5cfd62cda1e45083f925584d9 (patch) | |
tree | d490f7b1acffb7ca5606f8bc9305cbcb43d86643 | |
parent | ab9b45ae715f1f2143c48138710308ac467c27cb (diff) | |
download | base-a3a504b26fddd1e5cfd62cda1e45083f925584d9.tar.gz |
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
-rw-r--r-- | core/java/android/app/UiAutomationConnection.java | 5 | ||||
-rw-r--r-- | services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/core/java/android/app/UiAutomationConnection.java b/core/java/android/app/UiAutomationConnection.java index 52949d6d1fbd..2349ef8fd76d 100644 --- a/core/java/android/app/UiAutomationConnection.java +++ b/core/java/android/app/UiAutomationConnection.java @@ -180,6 +180,11 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { @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 fdb28ba9103e..531227947ba0 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 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub @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; |