diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 80da6c13e02a1..8461fc1b7ae5e 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -3157,7 +3157,7 @@ package android.view.inputmethod { } public final class InputMethodManager { - method public void addVirtualStylusIdForTestSession(); + method @RequiresPermission(android.Manifest.permission.TEST_INPUT_METHOD) public void addVirtualStylusIdForTestSession(); method public int getDisplayId(); method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public java.util.List getInputMethodListAsUser(int); method public boolean hasActiveInputConnection(@Nullable android.view.View); diff --git a/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java b/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java index 7f859d6b4bf4c..1afa98769a5a8 100644 --- a/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java +++ b/core/java/android/view/inputmethod/IInputMethodManagerGlobalInvoker.java @@ -489,6 +489,7 @@ final class IInputMethodManagerGlobalInvoker { } @AnyThread + @RequiresPermission(Manifest.permission.TEST_INPUT_METHOD) static void addVirtualStylusIdForTestSession(IInputMethodClient client) { final IInputMethodManager service = getService(); if (service == null) { diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index f2ce739cdbeda..2bc4f5ecb0d04 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -2590,6 +2590,7 @@ public final class InputMethodManager { * @hide */ @TestApi + @RequiresPermission(Manifest.permission.TEST_INPUT_METHOD) public void addVirtualStylusIdForTestSession() { synchronized (mH) { IInputMethodManagerGlobalInvoker.addVirtualStylusIdForTestSession(mClient); diff --git a/core/java/com/android/internal/view/IInputMethodManager.aidl b/core/java/com/android/internal/view/IInputMethodManager.aidl index 423642acf2f7a..f7bb16e8ba54c 100644 --- a/core/java/com/android/internal/view/IInputMethodManager.aidl +++ b/core/java/com/android/internal/view/IInputMethodManager.aidl @@ -147,9 +147,9 @@ interface IInputMethodManager { boolean isStylusHandwritingAvailableAsUser(int userId); /** add virtual stylus id for test Stylus handwriting session **/ - @EnforcePermission("INJECT_EVENTS") + @EnforcePermission("TEST_INPUT_METHOD") @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = " - + "android.Manifest.permission.INJECT_EVENTS)") + + "android.Manifest.permission.TEST_INPUT_METHOD)") void addVirtualStylusIdForTestSession(in IInputMethodClient client); /** Set a stylus idle-timeout after which handwriting {@code InkWindow} will be removed. */ diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 9cb8f43c452ca..3e0ba5d95c921 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -4382,7 +4382,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub * a stylus deviceId is not already registered on device. */ @BinderThread - @EnforcePermission(Manifest.permission.INJECT_EVENTS) + @EnforcePermission(Manifest.permission.TEST_INPUT_METHOD) @Override public void addVirtualStylusIdForTestSession(IInputMethodClient client) { int uid = Binder.getCallingUid();