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

Commit df017879 authored by Vladimir Komsiyski's avatar Vladimir Komsiyski Committed by Android (Google) Code Review
Browse files

Merge "Expose virtual input device id via system api" into main

parents 2f8a4a66 0e24a1c8
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -6061,6 +6061,7 @@ package android.hardware.input {
  public class VirtualDpad implements java.io.Closeable {
    method public void close();
    method @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public int getInputDeviceId();
    method public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
  }
@@ -6113,6 +6114,7 @@ package android.hardware.input {
  public class VirtualKeyboard implements java.io.Closeable {
    method public void close();
    method @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public int getInputDeviceId();
    method public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
  }
@@ -6136,6 +6138,7 @@ package android.hardware.input {
  public class VirtualMouse implements java.io.Closeable {
    method public void close();
    method @NonNull public android.graphics.PointF getCursorPosition();
    method @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public int getInputDeviceId();
    method public void sendButtonEvent(@NonNull android.hardware.input.VirtualMouseButtonEvent);
    method public void sendRelativeEvent(@NonNull android.hardware.input.VirtualMouseRelativeEvent);
    method public void sendScrollEvent(@NonNull android.hardware.input.VirtualMouseScrollEvent);
@@ -6212,6 +6215,7 @@ package android.hardware.input {
  public class VirtualNavigationTouchpad implements java.io.Closeable {
    method public void close();
    method @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public int getInputDeviceId();
    method public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
  }
@@ -6230,6 +6234,7 @@ package android.hardware.input {
  @FlaggedApi("android.companion.virtualdevice.flags.virtual_rotary") public class VirtualRotaryEncoder implements java.io.Closeable {
    method public void close();
    method @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public int getInputDeviceId();
    method public void sendScrollEvent(@NonNull android.hardware.input.VirtualRotaryEncoderScrollEvent);
  }
@@ -6261,6 +6266,7 @@ package android.hardware.input {
  public class VirtualStylus implements java.io.Closeable {
    method public void close();
    method @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public int getInputDeviceId();
    method public void sendButtonEvent(@NonNull android.hardware.input.VirtualStylusButtonEvent);
    method public void sendMotionEvent(@NonNull android.hardware.input.VirtualStylusMotionEvent);
  }
@@ -6366,6 +6372,7 @@ package android.hardware.input {
  public class VirtualTouchscreen implements java.io.Closeable {
    method public void close();
    method @FlaggedApi("com.android.hardware.input.create_virtual_keyboard_api") public int getInputDeviceId();
    method public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
  }
+1 −1
Original line number Diff line number Diff line
@@ -1870,7 +1870,7 @@ package android.hardware.input {
  }

  public class VirtualKeyboard implements java.io.Closeable {
    method public int getInputDeviceId();
    method public int getInputDeviceIdForTest();
  }

}
+12 −1
Original line number Diff line number Diff line
@@ -16,8 +16,11 @@

package android.hardware.input;

import android.annotation.FlaggedApi;
import android.annotation.SystemApi;
import android.os.RemoteException;
import android.util.Log;
import android.view.InputDevice;

import java.io.Closeable;

@@ -43,10 +46,18 @@ abstract class VirtualInputDevice implements Closeable {
    }

    /**
     * @return The device id of this device.
     * Returns the ID of the underlying input device.
     *
     * @return The input device id of this device.
     * @see InputDevice#getId()
     * @hide
     */
    @FlaggedApi(com.android.hardware.input.Flags.FLAG_CREATE_VIRTUAL_KEYBOARD_API)
    @SystemApi
    public int getInputDeviceId() {
        if (!com.android.hardware.input.Flags.createVirtualKeyboardApi()) {
            throw new UnsupportedOperationException("Required flag is not enabled");
        }
        try {
            return mVirtualInputDevice.getInputDeviceId();
        } catch (RemoteException e) {
+7 −3
Original line number Diff line number Diff line
@@ -67,10 +67,14 @@ public class VirtualKeyboard extends VirtualInputDevice {
     * @return The id of the {@link android.view.InputDevice} corresponding to this keyboard.
     * @hide
     */
    // TODO(b/423975806): Remove once the system api is unflagged
    @SuppressLint("UnflaggedApi") // @TestApi without associated feature.
    @TestApi
    @Override
    public int getInputDeviceId() {
        return super.getInputDeviceId();
    public int getInputDeviceIdForTest() {
        try {
            return mVirtualInputDevice.getInputDeviceId();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
}