Loading core/java/android/hardware/input/VirtualDpad.java +2 −16 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.view.KeyEvent; import java.io.Closeable; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; Loading @@ -39,7 +38,7 @@ import java.util.Set; * @hide */ @SystemApi public class VirtualDpad implements Closeable { public class VirtualDpad extends VirtualInputDevice { private final Set<Integer> mSupportedKeyCodes = Collections.unmodifiableSet( Loading @@ -50,23 +49,10 @@ public class VirtualDpad implements Closeable { KeyEvent.KEYCODE_DPAD_LEFT, KeyEvent.KEYCODE_DPAD_RIGHT, KeyEvent.KEYCODE_DPAD_CENTER))); private final IVirtualDevice mVirtualDevice; private final IBinder mToken; /** @hide */ public VirtualDpad(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading core/java/android/hardware/input/VirtualInputDevice.java 0 → 100644 +62 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.input; import android.annotation.RequiresPermission; import android.companion.virtual.IVirtualDevice; import android.os.IBinder; import android.os.RemoteException; import java.io.Closeable; /** * The base class for all virtual input devices such as VirtualKeyboard, VirtualMouse. * This implements the shared functionality such as closing the device and keeping track of * identifiers. * * @hide */ abstract class VirtualInputDevice implements Closeable { /** * The virtual device to which this VirtualInputDevice belongs to. */ protected final IVirtualDevice mVirtualDevice; /** * The token used to uniquely identify the virtual input device. */ protected final IBinder mToken; /** @hide */ VirtualInputDevice( IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } } core/java/android/hardware/input/VirtualKeyboard.java +2 −17 Original line number Diff line number Diff line Loading @@ -24,8 +24,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.view.KeyEvent; import java.io.Closeable; /** * A virtual keyboard representing a key input mechanism on a remote device, such as a built-in * keyboard on a laptop, a software keyboard on a tablet, or a keypad on a TV remote control. Loading @@ -36,26 +34,13 @@ import java.io.Closeable; * @hide */ @SystemApi public class VirtualKeyboard implements Closeable { public class VirtualKeyboard extends VirtualInputDevice { private final int mUnsupportedKeyCode = KeyEvent.KEYCODE_DPAD_CENTER; private final IVirtualDevice mVirtualDevice; private final IBinder mToken; /** @hide */ public VirtualKeyboard(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading core/java/android/hardware/input/VirtualMouse.java +2 −18 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.view.MotionEvent; import java.io.Closeable; /** * A virtual mouse representing a relative input mechanism on a remote device, such as a mouse or * trackpad. Loading @@ -37,25 +35,11 @@ import java.io.Closeable; * @hide */ @SystemApi public class VirtualMouse implements Closeable { private final IVirtualDevice mVirtualDevice; private final IBinder mToken; public class VirtualMouse extends VirtualInputDevice { /** @hide */ public VirtualMouse(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading core/java/android/hardware/input/VirtualTouchscreen.java +2 −19 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ import android.companion.virtual.IVirtualDevice; import android.os.IBinder; import android.os.RemoteException; import java.io.Closeable; /** * A virtual touchscreen representing a touch-based display input mechanism on a remote device. * Loading @@ -34,25 +32,10 @@ import java.io.Closeable; * @hide */ @SystemApi public class VirtualTouchscreen implements Closeable { private final IVirtualDevice mVirtualDevice; private final IBinder mToken; public class VirtualTouchscreen extends VirtualInputDevice { /** @hide */ public VirtualTouchscreen(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading Loading
core/java/android/hardware/input/VirtualDpad.java +2 −16 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.view.KeyEvent; import java.io.Closeable; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; Loading @@ -39,7 +38,7 @@ import java.util.Set; * @hide */ @SystemApi public class VirtualDpad implements Closeable { public class VirtualDpad extends VirtualInputDevice { private final Set<Integer> mSupportedKeyCodes = Collections.unmodifiableSet( Loading @@ -50,23 +49,10 @@ public class VirtualDpad implements Closeable { KeyEvent.KEYCODE_DPAD_LEFT, KeyEvent.KEYCODE_DPAD_RIGHT, KeyEvent.KEYCODE_DPAD_CENTER))); private final IVirtualDevice mVirtualDevice; private final IBinder mToken; /** @hide */ public VirtualDpad(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading
core/java/android/hardware/input/VirtualInputDevice.java 0 → 100644 +62 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.input; import android.annotation.RequiresPermission; import android.companion.virtual.IVirtualDevice; import android.os.IBinder; import android.os.RemoteException; import java.io.Closeable; /** * The base class for all virtual input devices such as VirtualKeyboard, VirtualMouse. * This implements the shared functionality such as closing the device and keeping track of * identifiers. * * @hide */ abstract class VirtualInputDevice implements Closeable { /** * The virtual device to which this VirtualInputDevice belongs to. */ protected final IVirtualDevice mVirtualDevice; /** * The token used to uniquely identify the virtual input device. */ protected final IBinder mToken; /** @hide */ VirtualInputDevice( IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } }
core/java/android/hardware/input/VirtualKeyboard.java +2 −17 Original line number Diff line number Diff line Loading @@ -24,8 +24,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.view.KeyEvent; import java.io.Closeable; /** * A virtual keyboard representing a key input mechanism on a remote device, such as a built-in * keyboard on a laptop, a software keyboard on a tablet, or a keypad on a TV remote control. Loading @@ -36,26 +34,13 @@ import java.io.Closeable; * @hide */ @SystemApi public class VirtualKeyboard implements Closeable { public class VirtualKeyboard extends VirtualInputDevice { private final int mUnsupportedKeyCode = KeyEvent.KEYCODE_DPAD_CENTER; private final IVirtualDevice mVirtualDevice; private final IBinder mToken; /** @hide */ public VirtualKeyboard(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading
core/java/android/hardware/input/VirtualMouse.java +2 −18 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.view.MotionEvent; import java.io.Closeable; /** * A virtual mouse representing a relative input mechanism on a remote device, such as a mouse or * trackpad. Loading @@ -37,25 +35,11 @@ import java.io.Closeable; * @hide */ @SystemApi public class VirtualMouse implements Closeable { private final IVirtualDevice mVirtualDevice; private final IBinder mToken; public class VirtualMouse extends VirtualInputDevice { /** @hide */ public VirtualMouse(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading
core/java/android/hardware/input/VirtualTouchscreen.java +2 −19 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ import android.companion.virtual.IVirtualDevice; import android.os.IBinder; import android.os.RemoteException; import java.io.Closeable; /** * A virtual touchscreen representing a touch-based display input mechanism on a remote device. * Loading @@ -34,25 +32,10 @@ import java.io.Closeable; * @hide */ @SystemApi public class VirtualTouchscreen implements Closeable { private final IVirtualDevice mVirtualDevice; private final IBinder mToken; public class VirtualTouchscreen extends VirtualInputDevice { /** @hide */ public VirtualTouchscreen(IVirtualDevice virtualDevice, IBinder token) { mVirtualDevice = virtualDevice; mToken = token; } @Override @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close() { try { mVirtualDevice.unregisterInputDevice(mToken); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } super(virtualDevice, token); } /** Loading