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

Commit 27f168fa authored by Asmita Poddar's avatar Asmita Poddar Committed by Automerger Merge Worker
Browse files

Merge "Move functions to InputManager Global" into udc-dev am: eb97537b am: 8717bb80

parents 1afd4665 8717bb80
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import android.content.IntentFilter;
import android.content.pm.ActivityInfo;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.content.res.Configuration;
import android.hardware.input.InputManager;
import android.hardware.input.InputManager;
import android.hardware.input.InputManagerGlobal;
import android.net.Uri;
import android.net.Uri;
import android.os.Build;
import android.os.Build;
import android.os.Bundle;
import android.os.Bundle;
@@ -1130,7 +1131,7 @@ public class Instrumentation {
        newEvent.setFlags(event.getFlags() | KeyEvent.FLAG_FROM_SYSTEM);
        newEvent.setFlags(event.getFlags() | KeyEvent.FLAG_FROM_SYSTEM);
        setDisplayIfNeeded(newEvent);
        setDisplayIfNeeded(newEvent);


        InputManager.getInstance().injectInputEvent(newEvent,
        InputManagerGlobal.getInstance().injectInputEvent(newEvent,
                InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
                InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
    }
    }


@@ -1229,7 +1230,7 @@ public class Instrumentation {
            }
            }


            // Direct the injected event into windows owned by the instrumentation target.
            // Direct the injected event into windows owned by the instrumentation target.
            InputManager.getInstance().injectInputEvent(
            InputManagerGlobal.getInstance().injectInputEvent(
                    event, InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH, Process.myUid());
                    event, InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH, Process.myUid());


            if (syncAfter) {
            if (syncAfter) {
@@ -1259,7 +1260,7 @@ public class Instrumentation {
        if (!event.isFromSource(InputDevice.SOURCE_CLASS_TRACKBALL)) {
        if (!event.isFromSource(InputDevice.SOURCE_CLASS_TRACKBALL)) {
            event.setSource(InputDevice.SOURCE_TRACKBALL);
            event.setSource(InputDevice.SOURCE_TRACKBALL);
        }
        }
        InputManager.getInstance().injectInputEvent(event,
        InputManagerGlobal.getInstance().injectInputEvent(event,
                InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
                InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
    }
    }


+18 −93
Original line number Original line Diff line number Diff line
@@ -34,12 +34,10 @@ import android.content.Context;
import android.hardware.BatteryState;
import android.hardware.BatteryState;
import android.hardware.SensorManager;
import android.hardware.SensorManager;
import android.hardware.lights.LightsManager;
import android.hardware.lights.LightsManager;
import android.os.Binder;
import android.os.Build;
import android.os.Build;
import android.os.Handler;
import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder;
import android.os.InputEventInjectionSync;
import android.os.InputEventInjectionSync;
import android.os.Process;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.SystemClock;
import android.os.Vibrator;
import android.os.Vibrator;
@@ -392,12 +390,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public boolean isInputDeviceEnabled(int id) {
    public boolean isInputDeviceEnabled(int id) {
        try {
        return mGlobal.isInputDeviceEnabled(id);
            return mIm.isInputDeviceEnabled(id);
        } catch (RemoteException ex) {
            Log.w(TAG, "Could not check enabled status of input device with id = " + id);
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -411,12 +404,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public void enableInputDevice(int id) {
    public void enableInputDevice(int id) {
        try {
        mGlobal.enableInputDevice(id);
            mIm.enableInputDevice(id);
        } catch (RemoteException ex) {
            Log.w(TAG, "Could not enable input device with id = " + id);
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -430,12 +418,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public void disableInputDevice(int id) {
    public void disableInputDevice(int id) {
        try {
        mGlobal.disableInputDevice(id);
            mIm.disableInputDevice(id);
        } catch (RemoteException ex) {
            Log.w(TAG, "Could not disable input device with id = " + id);
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1007,13 +990,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public boolean[] deviceHasKeys(int id, int[] keyCodes) {
    public boolean[] deviceHasKeys(int id, int[] keyCodes) {
        boolean[] ret = new boolean[keyCodes.length];
        return mGlobal.deviceHasKeys(id, keyCodes);
        try {
            mIm.hasKeys(id, InputDevice.SOURCE_ANY, keyCodes, ret);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
        return ret;
    }
    }


    /**
    /**
@@ -1038,11 +1015,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public int getKeyCodeForKeyLocation(int deviceId, int locationKeyCode) {
    public int getKeyCodeForKeyLocation(int deviceId, int locationKeyCode) {
        try {
        return mGlobal.getKeyCodeForKeyLocation(deviceId, locationKeyCode);
            return mIm.getKeyCodeForKeyLocation(deviceId, locationKeyCode);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1075,20 +1048,7 @@ public final class InputManager {
     */
     */
    @RequiresPermission(Manifest.permission.INJECT_EVENTS)
    @RequiresPermission(Manifest.permission.INJECT_EVENTS)
    public boolean injectInputEvent(InputEvent event, int mode, int targetUid) {
    public boolean injectInputEvent(InputEvent event, int mode, int targetUid) {
        if (event == null) {
        return mGlobal.injectInputEvent(event, mode, targetUid);
            throw new IllegalArgumentException("event must not be null");
        }
        if (mode != InputEventInjectionSync.NONE
                && mode != InputEventInjectionSync.WAIT_FOR_FINISHED
                && mode != InputEventInjectionSync.WAIT_FOR_RESULT) {
            throw new IllegalArgumentException("mode is invalid");
        }

        try {
            return mIm.injectInputEventToTarget(event, mode, targetUid);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1114,7 +1074,7 @@ public final class InputManager {
    @RequiresPermission(Manifest.permission.INJECT_EVENTS)
    @RequiresPermission(Manifest.permission.INJECT_EVENTS)
    @UnsupportedAppUsage
    @UnsupportedAppUsage
    public boolean injectInputEvent(InputEvent event, int mode) {
    public boolean injectInputEvent(InputEvent event, int mode) {
        return injectInputEvent(event, mode, Process.INVALID_UID);
        return mGlobal.injectInputEvent(event, mode);
    }
    }


    /**
    /**
@@ -1149,20 +1109,12 @@ public final class InputManager {
     */
     */
    @UnsupportedAppUsage
    @UnsupportedAppUsage
    public void setPointerIconType(int iconId) {
    public void setPointerIconType(int iconId) {
        try {
        mGlobal.setPointerIconType(iconId);
            mIm.setPointerIconType(iconId);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /** @hide */
    /** @hide */
    public void setCustomPointerIcon(PointerIcon icon) {
    public void setCustomPointerIcon(PointerIcon icon) {
        try {
        mGlobal.setCustomPointerIcon(icon);
            mIm.setCustomPointerIcon(icon);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1191,11 +1143,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public void requestPointerCapture(IBinder windowToken, boolean enable) {
    public void requestPointerCapture(IBinder windowToken, boolean enable) {
        try {
        mGlobal.requestPointerCapture(windowToken, enable);
            mIm.requestPointerCapture(windowToken, enable);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1204,11 +1152,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public InputMonitor monitorGestureInput(String name, int displayId) {
    public InputMonitor monitorGestureInput(String name, int displayId) {
        try {
        return mGlobal.monitorGestureInput(name, displayId);
            return mIm.monitorGestureInput(new Binder(), name, displayId);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1313,12 +1257,9 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    @TestApi
    @TestApi
    public void addUniqueIdAssociation(@NonNull String inputPort, @NonNull String displayUniqueId) {
    public void addUniqueIdAssociation(@NonNull String inputPort,
        try {
            @NonNull String displayUniqueId) {
            mIm.addUniqueIdAssociation(inputPort, displayUniqueId);
        mGlobal.addUniqueIdAssociation(inputPort, displayUniqueId);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1331,11 +1272,7 @@ public final class InputManager {
     */
     */
    @TestApi
    @TestApi
    public void removeUniqueIdAssociation(@NonNull String inputPort) {
    public void removeUniqueIdAssociation(@NonNull String inputPort) {
        try {
        mGlobal.removeUniqueIdAssociation(inputPort);
            mIm.removeUniqueIdAssociation(inputPort);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1361,11 +1298,7 @@ public final class InputManager {
    @RequiresPermission(Manifest.permission.BLUETOOTH)
    @RequiresPermission(Manifest.permission.BLUETOOTH)
    @Nullable
    @Nullable
    public String getInputDeviceBluetoothAddress(int deviceId) {
    public String getInputDeviceBluetoothAddress(int deviceId) {
        try {
        return mGlobal.getInputDeviceBluetoothAddress(deviceId);
            return mIm.getInputDeviceBluetoothAddress(deviceId);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1423,11 +1356,7 @@ public final class InputManager {
     * @hide
     * @hide
     */
     */
    public void cancelCurrentTouch() {
    public void cancelCurrentTouch() {
        try {
        mGlobal.cancelCurrentTouch();
            mIm.cancelCurrentTouch();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
@@ -1451,11 +1380,7 @@ public final class InputManager {
     */
     */
    @RequiresPermission(Manifest.permission.MONITOR_INPUT)
    @RequiresPermission(Manifest.permission.MONITOR_INPUT)
    public void pilferPointers(IBinder inputChannelToken) {
    public void pilferPointers(IBinder inputChannelToken) {
        try {
        mGlobal.pilferPointers(inputChannelToken);
            mIm.pilferPointers(inputChannelToken);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
    }


    /**
    /**
+215 −2
Original line number Original line Diff line number Diff line
@@ -30,19 +30,27 @@ import android.hardware.input.InputManager.OnTabletModeChangedListener;
import android.hardware.lights.Light;
import android.hardware.lights.Light;
import android.hardware.lights.LightState;
import android.hardware.lights.LightState;
import android.hardware.lights.LightsRequest;
import android.hardware.lights.LightsRequest;
import android.os.Binder;
import android.os.CombinedVibration;
import android.os.CombinedVibration;
import android.os.Handler;
import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder;
import android.os.IVibratorStateListener;
import android.os.IVibratorStateListener;
import android.os.InputEventInjectionSync;
import android.os.Looper;
import android.os.Looper;
import android.os.Message;
import android.os.Message;
import android.os.Process;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager;
import android.os.VibrationEffect;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.os.VibratorManager;
import android.util.Log;
import android.util.Log;
import android.util.SparseArray;
import android.util.SparseArray;
import android.view.Display;
import android.view.Display;
import android.view.InputDevice;
import android.view.InputDevice;
import android.view.InputEvent;
import android.view.InputMonitor;
import android.view.PointerIcon;


import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.os.SomeArgs;
import com.android.internal.os.SomeArgs;
@@ -358,6 +366,42 @@ public final class InputManagerGlobal {
        }
        }
    }
    }


    /**
     * @see InputManager#isInputDeviceEnabled(int)
     */
    public boolean isInputDeviceEnabled(int id) {
        try {
            return mIm.isInputDeviceEnabled(id);
        } catch (RemoteException ex) {
            Log.w(TAG, "Could not check enabled status of input device with id = " + id);
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#enableInputDevice(int)
     */
    public void enableInputDevice(int id) {
        try {
            mIm.enableInputDevice(id);
        } catch (RemoteException ex) {
            Log.w(TAG, "Could not enable input device with id = " + id);
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#disableInputDevice(int)
     */
    public void disableInputDevice(int id) {
        try {
            mIm.disableInputDevice(id);
        } catch (RemoteException ex) {
            Log.w(TAG, "Could not disable input device with id = " + id);
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
    /**
     * @see InputManager#getInputDeviceByDescriptor
     * @see InputManager#getInputDeviceByDescriptor
     */
     */
@@ -672,7 +716,7 @@ public final class InputManagerGlobal {
     * @see InputManager#getInputDeviceBatteryState(int, boolean)
     * @see InputManager#getInputDeviceBatteryState(int, boolean)
     */
     */
    @NonNull
    @NonNull
    BatteryState getInputDeviceBatteryState(int deviceId, boolean hasBattery) {
    public BatteryState getInputDeviceBatteryState(int deviceId, boolean hasBattery) {
        if (!hasBattery) {
        if (!hasBattery) {
            return new LocalBatteryState();
            return new LocalBatteryState();
        }
        }
@@ -835,7 +879,7 @@ public final class InputManagerGlobal {
     * @see InputManager#getInputDeviceSensorManager(int)
     * @see InputManager#getInputDeviceSensorManager(int)
     */
     */
    @NonNull
    @NonNull
    SensorManager getInputDeviceSensorManager(int deviceId) {
    public SensorManager getInputDeviceSensorManager(int deviceId) {
        if (mInputDeviceSensorManager == null) {
        if (mInputDeviceSensorManager == null) {
            mInputDeviceSensorManager = new InputDeviceSensorManager(this);
            mInputDeviceSensorManager = new InputDeviceSensorManager(this);
        }
        }
@@ -980,6 +1024,21 @@ public final class InputManagerGlobal {
        }
        }
    }
    }


    /**
     * @see InputManager#getInputDeviceVibrator(int, int)
     */
    public Vibrator getInputDeviceVibrator(int deviceId, int vibratorId) {
        return new InputDeviceVibrator(deviceId, vibratorId);
    }

    /**
     * @see InputManager#getInputDeviceVibratorManager(int)
     */
    @NonNull
    public VibratorManager getInputDeviceVibratorManager(int deviceId) {
        return new InputDeviceVibratorManager(deviceId);
    }

    /*
    /*
     * Get the list of device vibrators
     * Get the list of device vibrators
     * @return The list of vibrators IDs
     * @return The list of vibrators IDs
@@ -1057,4 +1116,158 @@ public final class InputManagerGlobal {
            throw ex.rethrowFromSystemServer();
            throw ex.rethrowFromSystemServer();
        }
        }
    }
    }

    /**
     * @see InputManager#deviceHasKeys(int, int[])
     */
    public boolean[] deviceHasKeys(int id, int[] keyCodes) {
        boolean[] ret = new boolean[keyCodes.length];
        try {
            mIm.hasKeys(id, InputDevice.SOURCE_ANY, keyCodes, ret);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
        return ret;
    }

    /**
     * @see InputManager#getKeyCodeforKeyLocation(int, int)
     */
    public int getKeyCodeForKeyLocation(int deviceId, int locationKeyCode) {
        try {
            return mIm.getKeyCodeForKeyLocation(deviceId, locationKeyCode);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#injectInputEvent(InputEvent, int, int)
     */

    public boolean injectInputEvent(InputEvent event, int mode, int targetUid) {
        if (event == null) {
            throw new IllegalArgumentException("event must not be null");
        }
        if (mode != InputEventInjectionSync.NONE
                && mode != InputEventInjectionSync.WAIT_FOR_FINISHED
                && mode != InputEventInjectionSync.WAIT_FOR_RESULT) {
            throw new IllegalArgumentException("mode is invalid");
        }

        try {
            return mIm.injectInputEventToTarget(event, mode, targetUid);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#injectInputEvent(InputEvent, int)
     */
    public boolean injectInputEvent(InputEvent event, int mode) {
        return injectInputEvent(event, mode, Process.INVALID_UID);
    }

    /**
     * @see InputManager#setPointerIconType(int)
     */
    public void setPointerIconType(int iconId) {
        try {
            mIm.setPointerIconType(iconId);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#setCustomPointerIcon(PointerIcon)
     */
    public void setCustomPointerIcon(PointerIcon icon) {
        try {
            mIm.setCustomPointerIcon(icon);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#requestPointerCapture(IBinder, boolean)
     */
    void requestPointerCapture(IBinder windowToken, boolean enable) {
        try {
            mIm.requestPointerCapture(windowToken, enable);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
     * @see Inputmanager#monitorGestureInput(String, int)
     */
    InputMonitor monitorGestureInput(String name, int displayId) {
        try {
            return mIm.monitorGestureInput(new Binder(), name, displayId);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
    }

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

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

    /**
     * @see InputManager#getInputDeviceBluetoothAddress(int)
     */
    @RequiresPermission(Manifest.permission.BLUETOOTH)
    @Nullable
    public String getInputDeviceBluetoothAddress(int deviceId) {
        try {
            return mIm.getInputDeviceBluetoothAddress(deviceId);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#cancelCurrentTouch()
     */
    void cancelCurrentTouch() {
        try {
            mIm.cancelCurrentTouch();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * @see InputManager#pilferPointers(IBinder)
     */
    @RequiresPermission(Manifest.permission.MONITOR_INPUT)
    void pilferPointers(IBinder inputChannelToken) {
        try {
            mIm.pilferPointers(inputChannelToken);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
}
}
+23 −16
Original line number Original line Diff line number Diff line
@@ -776,7 +776,7 @@ public final class InputDevice implements Parcelable {
     * Each gamepad or joystick is given a unique, positive controller number when initially
     * Each gamepad or joystick is given a unique, positive controller number when initially
     * configured by the system. This number may change due to events such as device disconnects /
     * configured by the system. This number may change due to events such as device disconnects /
     * reconnects or user initiated reassignment. Any change in number will trigger an event that
     * reconnects or user initiated reassignment. Any change in number will trigger an event that
     * can be observed by registering an {@link InputManager.InputDeviceListener}.
     * can be observed by registering an {@link InputManagerGlobal.InputDeviceListener}.
     * </p>
     * </p>
     * <p>
     * <p>
     * All input devices which are not gamepads or joysticks will be assigned a controller number
     * All input devices which are not gamepads or joysticks will be assigned a controller number
@@ -981,7 +981,7 @@ public final class InputDevice implements Parcelable {
     * generating the keycode given by the corresponding value at the same index in the keys array.
     * generating the keycode given by the corresponding value at the same index in the keys array.
     */
     */
    public boolean[] hasKeys(int... keys) {
    public boolean[] hasKeys(int... keys) {
        return InputManager.getInstance().deviceHasKeys(mId, keys);
        return InputManagerGlobal.getInstance().deviceHasKeys(mId, keys);
    }
    }


    /**
    /**
@@ -1028,7 +1028,8 @@ public final class InputDevice implements Parcelable {
     * {@link InputDevice#SOURCE_KEYBOARD} or the requested mapping cannot be determined.
     * {@link InputDevice#SOURCE_KEYBOARD} or the requested mapping cannot be determined.
     */
     */
    public int getKeyCodeForKeyLocation(int locationKeyCode) {
    public int getKeyCodeForKeyLocation(int locationKeyCode) {
        return InputManager.getInstance().getKeyCodeForKeyLocation(mId, locationKeyCode);
        return InputManagerGlobal.getInstance()
                .getKeyCodeForKeyLocation(mId, locationKeyCode);
    }
    }


    /**
    /**
@@ -1109,9 +1110,11 @@ public final class InputDevice implements Parcelable {
    @RequiresPermission(Manifest.permission.BLUETOOTH)
    @RequiresPermission(Manifest.permission.BLUETOOTH)
    @Nullable
    @Nullable
    public String getBluetoothAddress() {
    public String getBluetoothAddress() {
        // We query the address via a separate InputManager API instead of pre-populating it in
        // We query the address via a separate InputManagerGlobal API
        // this class to avoid leaking it to apps that do not have sufficient permissions.
        // instead of pre-populating it in this class to avoid
        return InputManager.getInstance().getInputDeviceBluetoothAddress(mId);
        // leaking it to apps that do not have sufficient permissions.
        return InputManagerGlobal.getInstance()
                .getInputDeviceBluetoothAddress(mId);
    }
    }


    /**
    /**
@@ -1132,7 +1135,8 @@ public final class InputDevice implements Parcelable {
        synchronized (mMotionRanges) {
        synchronized (mMotionRanges) {
            if (mVibrator == null) {
            if (mVibrator == null) {
                if (mHasVibrator) {
                if (mHasVibrator) {
                    mVibrator = InputManager.getInstance().getInputDeviceVibrator(mId,
                    mVibrator = InputManagerGlobal.getInstance()
                            .getInputDeviceVibrator(mId,
                            VIBRATOR_ID_ALL);
                            VIBRATOR_ID_ALL);
                } else {
                } else {
                    mVibrator = NullVibrator.getInstance();
                    mVibrator = NullVibrator.getInstance();
@@ -1154,7 +1158,8 @@ public final class InputDevice implements Parcelable {
    public VibratorManager getVibratorManager() {
    public VibratorManager getVibratorManager() {
        synchronized (mMotionRanges) {
        synchronized (mMotionRanges) {
            if (mVibratorManager == null) {
            if (mVibratorManager == null) {
                mVibratorManager = InputManager.getInstance().getInputDeviceVibratorManager(mId);
                mVibratorManager = InputManagerGlobal.getInstance()
                        .getInputDeviceVibratorManager(mId);
            }
            }
        }
        }
        return mVibratorManager;
        return mVibratorManager;
@@ -1170,7 +1175,8 @@ public final class InputDevice implements Parcelable {
     */
     */
    @NonNull
    @NonNull
    public BatteryState getBatteryState() {
    public BatteryState getBatteryState() {
        return InputManager.getInstance().getInputDeviceBatteryState(mId, mHasBattery);
        return InputManagerGlobal.getInstance()
                .getInputDeviceBatteryState(mId, mHasBattery);
    }
    }


    /**
    /**
@@ -1206,7 +1212,8 @@ public final class InputDevice implements Parcelable {
    public SensorManager getSensorManager() {
    public SensorManager getSensorManager() {
        synchronized (mMotionRanges) {
        synchronized (mMotionRanges) {
            if (mSensorManager == null) {
            if (mSensorManager == null) {
                mSensorManager = InputManager.getInstance().getInputDeviceSensorManager(mId);
                mSensorManager = InputManagerGlobal.getInstance()
                        .getInputDeviceSensorManager(mId);
            }
            }
        }
        }
        return mSensorManager;
        return mSensorManager;
@@ -1217,7 +1224,7 @@ public final class InputDevice implements Parcelable {
     * @return Whether the input device is enabled.
     * @return Whether the input device is enabled.
     */
     */
    public boolean isEnabled() {
    public boolean isEnabled() {
        return InputManager.getInstance().isInputDeviceEnabled(mId);
        return InputManagerGlobal.getInstance().isInputDeviceEnabled(mId);
    }
    }


    /**
    /**
@@ -1228,7 +1235,7 @@ public final class InputDevice implements Parcelable {
    @RequiresPermission(android.Manifest.permission.DISABLE_INPUT_DEVICE)
    @RequiresPermission(android.Manifest.permission.DISABLE_INPUT_DEVICE)
    @TestApi
    @TestApi
    public void enable() {
    public void enable() {
        InputManager.getInstance().enableInputDevice(mId);
        InputManagerGlobal.getInstance().enableInputDevice(mId);
    }
    }


    /**
    /**
@@ -1239,7 +1246,7 @@ public final class InputDevice implements Parcelable {
    @RequiresPermission(android.Manifest.permission.DISABLE_INPUT_DEVICE)
    @RequiresPermission(android.Manifest.permission.DISABLE_INPUT_DEVICE)
    @TestApi
    @TestApi
    public void disable() {
    public void disable() {
        InputManager.getInstance().disableInputDevice(mId);
        InputManagerGlobal.getInstance().disableInputDevice(mId);
    }
    }


    /**
    /**
@@ -1274,7 +1281,7 @@ public final class InputDevice implements Parcelable {
     * @hide
     * @hide
     */
     */
    public void setPointerType(int pointerType) {
    public void setPointerType(int pointerType) {
        InputManager.getInstance().setPointerIconType(pointerType);
        InputManagerGlobal.getInstance().setPointerIconType(pointerType);
    }
    }


    /**
    /**
@@ -1283,7 +1290,7 @@ public final class InputDevice implements Parcelable {
     * @hide
     * @hide
     */
     */
    public void setCustomPointerIcon(PointerIcon icon) {
    public void setCustomPointerIcon(PointerIcon icon) {
        InputManager.getInstance().setCustomPointerIcon(icon);
        InputManagerGlobal.getInstance().setCustomPointerIcon(icon);
    }
    }


    /**
    /**
@@ -1301,7 +1308,7 @@ public final class InputDevice implements Parcelable {
     *
     *
     * @return the supported USI version, or null if the device does not support USI
     * @return the supported USI version, or null if the device does not support USI
     * @see <a href="https://universalstylus.org">Universal Stylus Initiative</a>
     * @see <a href="https://universalstylus.org">Universal Stylus Initiative</a>
     * @see InputManager#getHostUsiVersion(int)
     * @see InputManagerGlobal#getHostUsiVersion(int)
     * @hide
     * @hide
     */
     */
    @Nullable
    @Nullable
+2 −1
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.hardware.hdmi.HdmiControlManager;
import android.hardware.hdmi.HdmiDeviceInfo;
import android.hardware.hdmi.HdmiDeviceInfo;
import android.hardware.hdmi.IHdmiControlCallback;
import android.hardware.hdmi.IHdmiControlCallback;
import android.hardware.input.InputManager;
import android.hardware.input.InputManager;
import android.hardware.input.InputManagerGlobal;
import android.hardware.tv.cec.V1_0.Result;
import android.hardware.tv.cec.V1_0.Result;
import android.hardware.tv.cec.V1_0.SendMessageResult;
import android.hardware.tv.cec.V1_0.SendMessageResult;
import android.media.AudioManager;
import android.media.AudioManager;
@@ -827,7 +828,7 @@ abstract class HdmiCecLocalDevice extends HdmiLocalDevice {
                        KeyEvent.FLAG_FROM_SYSTEM,
                        KeyEvent.FLAG_FROM_SYSTEM,
                        InputDevice.SOURCE_HDMI,
                        InputDevice.SOURCE_HDMI,
                        null);
                        null);
        InputManager.getInstance()
        InputManagerGlobal.getInstance()
                .injectInputEvent(keyEvent, InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
                .injectInputEvent(keyEvent, InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
        keyEvent.recycle();
        keyEvent.recycle();
    }
    }
Loading