summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Norman <danielnorman@google.com>2023-11-17 20:53:05 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-13 18:03:29 +0000
commit44415e7734e7db67822a10a970333d05891c0bfc (patch)
tree801ad99266d83e7e801dba369e2a6b67e1e5f715
parentda4d8549d781c5997acf53094201af0bbc4b9648 (diff)
downloadbase-44415e7734e7db67822a10a970333d05891c0bfc.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.java5
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java2
2 files changed, 7 insertions, 0 deletions
diff --git a/core/java/android/app/UiAutomationConnection.java b/core/java/android/app/UiAutomationConnection.java
index 34f0964cf823..9831885f291d 100644
--- a/core/java/android/app/UiAutomationConnection.java
+++ b/core/java/android/app/UiAutomationConnection.java
@@ -183,6 +183,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;