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

Commit 18102891 authored by Prabir Pradhan's avatar Prabir Pradhan Committed by Android (Google) Code Review
Browse files

Merge "Revert "Bind an input device via descriptor"" into main

parents c244ac8d 61225ed0
Loading
Loading
Loading
Loading
+2 −4
Original line number Original line Diff line number Diff line
@@ -1769,16 +1769,14 @@ package android.hardware.input {
  }
  }


  public final class InputManager {
  public final class InputManager {
    method @FlaggedApi("com.android.input.flags.device_associations") @RequiresPermission("android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY") public void addUniqueIdAssociationByDescriptor(@NonNull String, @NonNull String);
    method public void addUniqueIdAssociation(@NonNull String, @NonNull String);
    method @FlaggedApi("com.android.input.flags.device_associations") @RequiresPermission("android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY") public void addUniqueIdAssociationByPort(@NonNull String, @NonNull String);
    method @RequiresPermission(android.Manifest.permission.REMAP_MODIFIER_KEYS) public void clearAllModifierKeyRemappings();
    method @RequiresPermission(android.Manifest.permission.REMAP_MODIFIER_KEYS) public void clearAllModifierKeyRemappings();
    method @NonNull public java.util.List<java.lang.String> getKeyboardLayoutDescriptors();
    method @NonNull public java.util.List<java.lang.String> getKeyboardLayoutDescriptors();
    method @NonNull public String getKeyboardLayoutTypeForLayoutDescriptor(@NonNull String);
    method @NonNull public String getKeyboardLayoutTypeForLayoutDescriptor(@NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.REMAP_MODIFIER_KEYS) public java.util.Map<java.lang.Integer,java.lang.Integer> getModifierKeyRemapping();
    method @NonNull @RequiresPermission(android.Manifest.permission.REMAP_MODIFIER_KEYS) public java.util.Map<java.lang.Integer,java.lang.Integer> getModifierKeyRemapping();
    method public int getMousePointerSpeed();
    method public int getMousePointerSpeed();
    method @RequiresPermission(android.Manifest.permission.REMAP_MODIFIER_KEYS) public void remapModifierKey(int, int);
    method @RequiresPermission(android.Manifest.permission.REMAP_MODIFIER_KEYS) public void remapModifierKey(int, int);
    method @FlaggedApi("com.android.input.flags.device_associations") @RequiresPermission("android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY") public void removeUniqueIdAssociationByDescriptor(@NonNull String);
    method public void removeUniqueIdAssociation(@NonNull String);
    method @FlaggedApi("com.android.input.flags.device_associations") @RequiresPermission("android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY") public void removeUniqueIdAssociationByPort(@NonNull String);
    field public static final long BLOCK_UNTRUSTED_TOUCHES = 158002302L; // 0x96aec7eL
    field public static final long BLOCK_UNTRUSTED_TOUCHES = 158002302L; // 0x96aec7eL
  }
  }


+0 −8
Original line number Original line Diff line number Diff line
@@ -977,16 +977,8 @@ RequiresPermission: android.hardware.hdmi.HdmiControlManager#setHdmiCecVersion(i
    Method 'setHdmiCecVersion' documentation mentions permissions already declared by @RequiresPermission
    Method 'setHdmiCecVersion' documentation mentions permissions already declared by @RequiresPermission
RequiresPermission: android.hardware.input.InputManager#addUniqueIdAssociation(String, String):
RequiresPermission: android.hardware.input.InputManager#addUniqueIdAssociation(String, String):
    Method 'addUniqueIdAssociation' documentation mentions permissions without declaring @RequiresPermission
    Method 'addUniqueIdAssociation' documentation mentions permissions without declaring @RequiresPermission
RequiresPermission: android.hardware.input.InputManager#addUniqueIdAssociationByDescriptor(String, String):
    Method 'addUniqueIdAssociationByDescriptor' documentation mentions permissions already declared by @RequiresPermission
RequiresPermission: android.hardware.input.InputManager#addUniqueIdAssociationByPort(String, String):
    Method 'addUniqueIdAssociationByPort' documentation mentions permissions already declared by @RequiresPermission
RequiresPermission: android.hardware.input.InputManager#removeUniqueIdAssociation(String):
RequiresPermission: android.hardware.input.InputManager#removeUniqueIdAssociation(String):
    Method 'removeUniqueIdAssociation' documentation mentions permissions without declaring @RequiresPermission
    Method 'removeUniqueIdAssociation' documentation mentions permissions without declaring @RequiresPermission
RequiresPermission: android.hardware.input.InputManager#removeUniqueIdAssociationByDescriptor(String):
    Method 'removeUniqueIdAssociationByDescriptor' documentation mentions permissions already declared by @RequiresPermission
RequiresPermission: android.hardware.input.InputManager#removeUniqueIdAssociationByPort(String):
    Method 'removeUniqueIdAssociationByPort' documentation mentions permissions already declared by @RequiresPermission
RequiresPermission: android.hardware.location.GeofenceHardware#addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback):
RequiresPermission: android.hardware.location.GeofenceHardware#addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback):
    Method 'addGeofence' documentation mentions permissions without declaring @RequiresPermission
    Method 'addGeofence' documentation mentions permissions without declaring @RequiresPermission
RequiresPermission: android.hardware.location.GeofenceHardware#getMonitoringTypes():
RequiresPermission: android.hardware.location.GeofenceHardware#getMonitoringTypes():
+4 −11
Original line number Original line Diff line number Diff line
@@ -165,17 +165,10 @@ interface IInputManager {
    // static association for the cleared input port will be restored.
    // static association for the cleared input port will be restored.
    void removePortAssociation(in String inputPort);
    void removePortAssociation(in String inputPort);


    // Add a runtime association between the input device and display, using device's descriptor.
    // Add a runtime association between the input device and display.
    void addUniqueIdAssociationByDescriptor(in String inputDeviceDescriptor,
    void addUniqueIdAssociation(in String inputPort, in String displayUniqueId);
            in String displayUniqueId);
    // Remove the runtime association between the input device and display.
    // Remove the runtime association between the input device and display, using device's
    void removeUniqueIdAssociation(in String inputPort);
    // descriptor.
    void removeUniqueIdAssociationByDescriptor(in String inputDeviceDescriptor);

    // Add a runtime association between the input device and display, using device's port.
    void addUniqueIdAssociationByPort(in String inputPort, in String displayUniqueId);
    // Remove the runtime association between the input device and display, using device's port.
    void removeUniqueIdAssociationByPort(in String inputPort);


    InputSensorInfo[] getSensorList(int deviceId);
    InputSensorInfo[] getSensorList(int deviceId);


+10 −57
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@
package android.hardware.input;
package android.hardware.input;


import static com.android.input.flags.Flags.FLAG_INPUT_DEVICE_VIEW_BEHAVIOR_API;
import static com.android.input.flags.Flags.FLAG_INPUT_DEVICE_VIEW_BEHAVIOR_API;
import static com.android.input.flags.Flags.FLAG_DEVICE_ASSOCIATIONS;
import static com.android.hardware.input.Flags.keyboardLayoutPreviewFlag;
import static com.android.hardware.input.Flags.keyboardLayoutPreviewFlag;


import android.Manifest;
import android.Manifest;
@@ -1055,14 +1054,13 @@ public final class InputManager {
    /**
    /**
     * Add a runtime association between the input port and the display port. This overrides any
     * Add a runtime association between the input port and the display port. This overrides any
     * static associations.
     * static associations.
     * @param inputPort the port of the input device
     * @param inputPort The port of the input device.
     * @param displayPort the physical port of the associated display
     * @param displayPort The physical port of the associated display.
     * <p>
     * <p>
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * </p>
     * </p>
     * @hide
     * @hide
     */
     */
    @RequiresPermission(android.Manifest.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY)
    public void addPortAssociation(@NonNull String inputPort, int displayPort) {
    public void addPortAssociation(@NonNull String inputPort, int displayPort) {
        try {
        try {
            mIm.addPortAssociation(inputPort, displayPort);
            mIm.addPortAssociation(inputPort, displayPort);
@@ -1074,13 +1072,12 @@ public final class InputManager {
    /**
    /**
     * Remove the runtime association between the input port and the display port. Any existing
     * Remove the runtime association between the input port and the display port. Any existing
     * static association for the cleared input port will be restored.
     * static association for the cleared input port will be restored.
     * @param inputPort the port of the input device to be cleared
     * @param inputPort The port of the input device to be cleared.
     * <p>
     * <p>
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * </p>
     * </p>
     * @hide
     * @hide
     */
     */
    @RequiresPermission(android.Manifest.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY)
    public void removePortAssociation(@NonNull String inputPort) {
    public void removePortAssociation(@NonNull String inputPort) {
        try {
        try {
            mIm.removePortAssociation(inputPort);
            mIm.removePortAssociation(inputPort);
@@ -1092,74 +1089,30 @@ public final class InputManager {
    /**
    /**
     * Add a runtime association between the input port and display, by unique id. Input ports are
     * Add a runtime association between the input port and display, by unique id. Input ports are
     * expected to be unique.
     * expected to be unique.
     * @param inputPort the port of the input device
     * @param inputPort The port of the input device.
     * @param displayUniqueId the unique id of the associated display
     * @param displayUniqueId The unique id of the associated display.
     * <p>
     * <p>
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * </p>
     * </p>
     * @hide
     * @hide
     */
     */
    @FlaggedApi(FLAG_DEVICE_ASSOCIATIONS)
    @RequiresPermission(android.Manifest.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY)
    @TestApi
    @TestApi
    public void addUniqueIdAssociationByPort(@NonNull String inputPort,
    public void addUniqueIdAssociation(@NonNull String inputPort,
            @NonNull String displayUniqueId) {
            @NonNull String displayUniqueId) {
        mGlobal.addUniqueIdAssociationByPort(inputPort, displayUniqueId);
        mGlobal.addUniqueIdAssociation(inputPort, displayUniqueId);
    }
    }


    /**
    /**
     * Removes a runtime association between the input device and display.
     * Removes a runtime association between the input device and display.
     * @param inputPort the port of the input device
     * @param inputPort The port of the input device.
     * <p>
     * <p>
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * Requires {@link android.Manifest.permission#ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * </p>
     * </p>
     * @hide
     * @hide
     */
     */
    @FlaggedApi(FLAG_DEVICE_ASSOCIATIONS)
    @RequiresPermission(android.Manifest.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY)
    @TestApi
    @TestApi
    public void removeUniqueIdAssociationByPort(@NonNull String inputPort) {
    public void removeUniqueIdAssociation(@NonNull String inputPort) {
        mGlobal.removeUniqueIdAssociationByPort(inputPort);
        mGlobal.removeUniqueIdAssociation(inputPort);
    }

    /**
     * Add a runtime association between the input device name and display, by descriptor. Input
     * device descriptors are expected to be unique per physical device, though one physical
     * device can have multiple virtual input devices that possess the same descriptor.
     * E.g. a keyboard with built in trackpad will be 2 different input devices with the same
     * descriptor.
     * @param inputDeviceDescriptor the descriptor of the input device
     * @param displayUniqueId the unique id of the associated display
     * <p>
     * Requires {@link android.Manifest.permissions.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * </p>
     * @hide
     */
    @FlaggedApi(FLAG_DEVICE_ASSOCIATIONS)
    @RequiresPermission(android.Manifest.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY)
    @TestApi
    public void addUniqueIdAssociationByDescriptor(@NonNull String inputDeviceDescriptor,
                                                   @NonNull String displayUniqueId) {
        mGlobal.addUniqueIdAssociationByDescriptor(inputDeviceDescriptor, displayUniqueId);
    }

    /**
     * Removes a runtime association between the input device and display.
    }

    /**
     * Removes a runtime association between the input device and display.
     * @param inputDeviceDescriptor the descriptor of the input device
     * <p>
     * Requires {@link android.Manifest.permissions.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY}.
     * </p>
     * @hide
     */
    @FlaggedApi(FLAG_DEVICE_ASSOCIATIONS)
    @RequiresPermission(android.Manifest.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY)
    @TestApi
    public void removeUniqueIdAssociationByDescriptor(@NonNull String inputDeviceDescriptor) {
        mGlobal.removeUniqueIdAssociationByDescriptor(inputDeviceDescriptor);
    }
    }


    /**
    /**
+6 −30
Original line number Original line Diff line number Diff line
@@ -1467,46 +1467,22 @@ public final class InputManagerGlobal {
    }
    }


    /**
    /**
     * @see InputManager#addUniqueIdAssociationByPort(String, String)
     * @see InputManager#addUniqueIdAssociation(String, String)
     */
     */
    public void addUniqueIdAssociationByPort(@NonNull String inputPort,
    public void addUniqueIdAssociation(@NonNull String inputPort, @NonNull String displayUniqueId) {
                                             @NonNull String displayUniqueId) {
        try {
        try {
            mIm.addUniqueIdAssociationByPort(inputPort, displayUniqueId);
            mIm.addUniqueIdAssociation(inputPort, displayUniqueId);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
    }
    }


    /**
    /**
     * @see InputManager#removeUniqueIdAssociationByPort(String)
     * @see InputManager#removeUniqueIdAssociation(String)
     */
     */
    public void removeUniqueIdAssociationByPort(@NonNull String inputPort) {
    public void removeUniqueIdAssociation(@NonNull String inputPort) {
        try {
        try {
            mIm.removeUniqueIdAssociationByPort(inputPort);
            mIm.removeUniqueIdAssociation(inputPort);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#addUniqueIdAssociationByDescriptor(String, String)
     */
    public void addUniqueIdAssociationByDescriptor(@NonNull String inputDeviceDescriptor,
                                                   @NonNull String displayUniqueId) {
        try {
            mIm.addUniqueIdAssociationByDescriptor(inputDeviceDescriptor, displayUniqueId);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#removeUniqueIdAssociationByDescriptor(String)
     */
    public void removeUniqueIdAssociationByDescriptor(@NonNull String inputDeviceDescriptor) {
        try {
            mIm.removeUniqueIdAssociationByDescriptor(inputDeviceDescriptor);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
Loading