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

Commit c4e48028 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make APIs for custom shortcuts user handle aware" into main

parents 233e29ae ee483745
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -266,19 +266,19 @@ interface IInputManager {
    @PermissionManuallyEnforced
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
            + "android.Manifest.permission.MANAGE_KEY_GESTURES)")
    int addCustomInputGesture(in AidlInputGestureData data);
    int addCustomInputGesture(int userId, in AidlInputGestureData data);

    @PermissionManuallyEnforced
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
            + "android.Manifest.permission.MANAGE_KEY_GESTURES)")
    int removeCustomInputGesture(in AidlInputGestureData data);
    int removeCustomInputGesture(int userId, in AidlInputGestureData data);

    @PermissionManuallyEnforced
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(value = "
            + "android.Manifest.permission.MANAGE_KEY_GESTURES)")
    void removeAllCustomInputGestures();
    void removeAllCustomInputGestures(int userId);

    AidlInputGestureData[] getCustomInputGestures();
    AidlInputGestureData[] getCustomInputGestures(int userId);

    AidlInputGestureData[] getAppLaunchBookmarks();
}
+10 −4
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SuppressLint;
import android.annotation.SystemService;
import android.annotation.TestApi;
import android.annotation.UserHandleAware;
import android.annotation.UserIdInt;
import android.app.ActivityThread;
import android.compat.annotation.ChangeId;
@@ -1487,12 +1488,13 @@ public final class InputManager {
     */
    @RequiresPermission(Manifest.permission.MANAGE_KEY_GESTURES)
    @CustomInputGestureResult
    @UserHandleAware
    public int addCustomInputGesture(@NonNull InputGestureData inputGestureData) {
        if (!enableCustomizableInputGestures()) {
            return CUSTOM_INPUT_GESTURE_RESULT_ERROR_OTHER;
        }
        try {
            return mIm.addCustomInputGesture(inputGestureData.getAidlData());
            return mIm.addCustomInputGesture(mContext.getUserId(), inputGestureData.getAidlData());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -1509,12 +1511,14 @@ public final class InputManager {
     */
    @RequiresPermission(Manifest.permission.MANAGE_KEY_GESTURES)
    @CustomInputGestureResult
    @UserHandleAware
    public int removeCustomInputGesture(@NonNull InputGestureData inputGestureData) {
        if (!enableCustomizableInputGestures()) {
            return CUSTOM_INPUT_GESTURE_RESULT_ERROR_OTHER;
        }
        try {
            return mIm.removeCustomInputGesture(inputGestureData.getAidlData());
            return mIm.removeCustomInputGesture(mContext.getUserId(),
                    inputGestureData.getAidlData());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -1525,12 +1529,13 @@ public final class InputManager {
     * @hide
     */
    @RequiresPermission(Manifest.permission.MANAGE_KEY_GESTURES)
    @UserHandleAware
    public void removeAllCustomInputGestures() {
        if (!enableCustomizableInputGestures()) {
            return;
        }
        try {
            mIm.removeAllCustomInputGestures();
            mIm.removeAllCustomInputGestures(mContext.getUserId());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -1540,13 +1545,14 @@ public final class InputManager {
     *
     * @hide
     */
    @UserHandleAware
    public List<InputGestureData> getCustomInputGestures() {
        List<InputGestureData> result = new ArrayList<>();
        if (!enableCustomizableInputGestures()) {
            return result;
        }
        try {
            for (AidlInputGestureData data : mIm.getCustomInputGestures()) {
            for (AidlInputGestureData data : mIm.getCustomInputGestures(mContext.getUserId())) {
                result.add(new InputGestureData(data));
            }
        } catch (RemoteException e) {
+10 −10
Original line number Diff line number Diff line
@@ -2997,35 +2997,35 @@ public class InputManagerService extends IInputManager.Stub

    @Override
    @PermissionManuallyEnforced
    public int addCustomInputGesture(@NonNull AidlInputGestureData inputGestureData) {
    public int addCustomInputGesture(@UserIdInt int userId,
            @NonNull AidlInputGestureData inputGestureData) {
        enforceManageKeyGesturePermission();

        Objects.requireNonNull(inputGestureData);
        return mKeyGestureController.addCustomInputGesture(UserHandle.getCallingUserId(),
                inputGestureData);
        return mKeyGestureController.addCustomInputGesture(userId, inputGestureData);
    }

    @Override
    @PermissionManuallyEnforced
    public int removeCustomInputGesture(@NonNull AidlInputGestureData inputGestureData) {
    public int removeCustomInputGesture(@UserIdInt int userId,
            @NonNull AidlInputGestureData inputGestureData) {
        enforceManageKeyGesturePermission();

        Objects.requireNonNull(inputGestureData);
        return mKeyGestureController.removeCustomInputGesture(UserHandle.getCallingUserId(),
                inputGestureData);
        return mKeyGestureController.removeCustomInputGesture(userId, inputGestureData);
    }

    @Override
    @PermissionManuallyEnforced
    public void removeAllCustomInputGestures() {
    public void removeAllCustomInputGestures(@UserIdInt int userId) {
        enforceManageKeyGesturePermission();

        mKeyGestureController.removeAllCustomInputGestures(UserHandle.getCallingUserId());
        mKeyGestureController.removeAllCustomInputGestures(userId);
    }

    @Override
    public AidlInputGestureData[] getCustomInputGestures() {
        return mKeyGestureController.getCustomInputGestures(UserHandle.getCallingUserId());
    public AidlInputGestureData[] getCustomInputGestures(@UserIdInt int userId) {
        return mKeyGestureController.getCustomInputGestures(userId);
    }

    @Override