Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80b2911d authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Use @EnforcePermission for IIMM#addVirtualStylusIdForTestSession()

This CL manually migrates

  IInputMethodManager#addVirtualStylusIdForTestSession(),

which was added recently [1], from manual permission check with

  Context#enforceCallingPermission(INJECT_EVENTS)

to code-generation check with

  @EnforcePermission("INJECT_EVENTS").

There should be no observable semantic behavior change in this CL.

 [1]: I7399c0a56c04f024d65c16d459818cc2c5cdbc7f
      d96ef57b

Bug: 34886274
Bug: 210039666
Bug: 232058525
Bug: 237316307
Test: atest CtsInputMethodTestCases:InputMethodManagerTest#testShowInputMethodPickerFromSystemProtection
Change-Id: Ida227d417496dd91c071c38ca0be003529764de4
parent 351e6778
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ interface IInputMethodManager {
    boolean isStylusHandwritingAvailableAsUser(int userId);

    /** add virtual stylus id for test Stylus handwriting session **/
    @EnforcePermission("INJECT_EVENTS")
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
            + "android.Manifest.permission.INJECT_EVENTS)")
    void addVirtualStylusIdForTestSession(in IInputMethodClient client);
+1 −4
Original line number Diff line number Diff line
@@ -4465,12 +4465,9 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
     * a stylus deviceId is not already registered on device.
     */
    @BinderThread
    @RequiresPermission(Manifest.permission.INJECT_EVENTS)
    @EnforcePermission(Manifest.permission.INJECT_EVENTS)
    @Override
    public void addVirtualStylusIdForTestSession(IInputMethodClient client) {
        mContext.enforceCallingPermission(
                Manifest.permission.INJECT_EVENTS,
                "Using addVirtualStylusIdForTestSession() requires INJECT_EVENTS.");
        int uid = Binder.getCallingUid();
        synchronized (ImfLock.class) {
            if (!canInteractWithImeLocked(uid, client, "addVirtualStylusIdForTestSession")) {