Merge "Bluetooth: HID: Add support for Set Idle and Get Idle Commands (3/4)"
This commit is contained in:
@@ -96,6 +96,12 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
|||||||
public static final String ACTION_VIRTUAL_UNPLUG_STATUS =
|
public static final String ACTION_VIRTUAL_UNPLUG_STATUS =
|
||||||
"android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS";
|
"android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
|
||||||
|
public static final String ACTION_IDLE_TIME_CHANGED =
|
||||||
|
"android.bluetooth.input.profile.action.IDLE_TIME_CHANGED";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return codes for the connect and disconnect Bluez / Dbus calls.
|
* Return codes for the connect and disconnect Bluez / Dbus calls.
|
||||||
@@ -199,6 +205,11 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
|||||||
*/
|
*/
|
||||||
public static final String EXTRA_VIRTUAL_UNPLUG_STATUS = "android.bluetooth.BluetoothInputDevice.extra.VIRTUAL_UNPLUG_STATUS";
|
public static final String EXTRA_VIRTUAL_UNPLUG_STATUS = "android.bluetooth.BluetoothInputDevice.extra.VIRTUAL_UNPLUG_STATUS";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final String EXTRA_IDLE_TIME = "android.bluetooth.BluetoothInputDevice.extra.IDLE_TIME";
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private ServiceListener mServiceListener;
|
private ServiceListener mServiceListener;
|
||||||
private BluetoothAdapter mAdapter;
|
private BluetoothAdapter mAdapter;
|
||||||
@@ -658,6 +669,56 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
|||||||
if (mService == null) Log.w(TAG, "Proxy not attached to service");
|
if (mService == null) Log.w(TAG, "Proxy not attached to service");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send Get_Idle_Time command to the connected HID input device.
|
||||||
|
*
|
||||||
|
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN} permission.
|
||||||
|
*
|
||||||
|
* @param device Remote Bluetooth Device
|
||||||
|
* @return false on immediate error,
|
||||||
|
* true otherwise
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public boolean getIdleTime(BluetoothDevice device) {
|
||||||
|
if (DBG) log("getIdletime(" + device + ")");
|
||||||
|
if (mService != null && isEnabled() && isValidDevice(device)) {
|
||||||
|
try {
|
||||||
|
return mService.getIdleTime(device);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (mService == null) Log.w(TAG, "Proxy not attached to service");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send Set_Idle_Time command to the connected HID input device.
|
||||||
|
*
|
||||||
|
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN} permission.
|
||||||
|
*
|
||||||
|
* @param device Remote Bluetooth Device
|
||||||
|
* @param idleTime Idle time to be set on HID Device
|
||||||
|
* @return false on immediate error,
|
||||||
|
* true otherwise
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public boolean setIdleTime(BluetoothDevice device, byte idleTime) {
|
||||||
|
if (DBG) log("setIdletime(" + device + "), idleTime=" + idleTime);
|
||||||
|
if (mService != null && isEnabled() && isValidDevice(device)) {
|
||||||
|
try {
|
||||||
|
return mService.setIdleTime(device, idleTime);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "Stack:" + Log.getStackTraceString(new Throwable()));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (mService == null) Log.w(TAG, "Proxy not attached to service");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private static void log(String msg) {
|
private static void log(String msg) {
|
||||||
Log.d(TAG, msg);
|
Log.d(TAG, msg);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,4 +56,12 @@ interface IBluetoothInputDevice {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
boolean sendData(in BluetoothDevice device, String report);
|
boolean sendData(in BluetoothDevice device, String report);
|
||||||
|
/**
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
boolean getIdleTime(in BluetoothDevice device);
|
||||||
|
/**
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
boolean setIdleTime(in BluetoothDevice device, byte idleTime);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user