Merge "Expose API to query devices for supported keys" into klp-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8e3a41738f
@@ -26139,6 +26139,7 @@ package android.view {
|
||||
method public int getSources();
|
||||
method public int getVendorId();
|
||||
method public android.os.Vibrator getVibrator();
|
||||
method public boolean[] hasKeys(int...);
|
||||
method public boolean isVirtual();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator CREATOR;
|
||||
|
||||
@@ -579,15 +579,33 @@ public final class InputManager {
|
||||
* @hide
|
||||
*/
|
||||
public boolean[] deviceHasKeys(int[] keyCodes) {
|
||||
return deviceHasKeys(-1, keyCodes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Queries the framework about whether any physical keys exist on the
|
||||
* any keyboard attached to the device that are capable of producing the given
|
||||
* array of key codes.
|
||||
*
|
||||
* @param id The id of the device to query.
|
||||
* @param keyCodes The array of key codes to query.
|
||||
* @return A new array of the same size as the key codes array whose elements are set to true
|
||||
* if the given device could produce the corresponding key code at the same index in the key
|
||||
* codes array.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public boolean[] deviceHasKeys(int id, int[] keyCodes) {
|
||||
boolean[] ret = new boolean[keyCodes.length];
|
||||
try {
|
||||
mIm.hasKeys(-1, InputDevice.SOURCE_ANY, keyCodes, ret);
|
||||
mIm.hasKeys(id, InputDevice.SOURCE_ANY, keyCodes, ret);
|
||||
} catch (RemoteException e) {
|
||||
// no fallback; just return the empty array
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Injects an input event into the event system on behalf of an application.
|
||||
* The synchronization mode determines whether the method blocks while waiting for
|
||||
|
||||
@@ -573,6 +573,16 @@ public final class InputDevice implements Parcelable {
|
||||
return mKeyCharacterMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets whether the device is capable of producing the list of keycodes.
|
||||
* @param keys The list of android keycodes to check for.
|
||||
* @return An array of booleans where each member specifies whether the device is capable of
|
||||
* generating the keycode given by the corresponding value at the same index in the keys array.
|
||||
*/
|
||||
public boolean[] hasKeys(int... keys) {
|
||||
return InputManager.getInstance().deviceHasKeys(mId, keys);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets information about the range of values for a particular {@link MotionEvent} axis.
|
||||
* If the device supports multiple sources, the same axis may have different meanings
|
||||
|
||||
Reference in New Issue
Block a user