Merge "Change Bluetooth HID Profile Name (1/6)"
This commit is contained in:
@@ -129,7 +129,7 @@ LOCAL_SRC_FILES += \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothHeadsetPhone.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothHealth.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothHealthCallback.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothInputDevice.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothHidHost.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothPan.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothManager.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothManagerCallback.aidl \
|
||||
@@ -140,7 +140,7 @@ LOCAL_SRC_FILES += \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothSap.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothStateChangeCallback.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothHeadsetClient.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothInputHost.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothHidDevice.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothHidDeviceCallback.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothGatt.aidl \
|
||||
../../system/bt/binder/android/bluetooth/IBluetoothGattCallback.aidl \
|
||||
|
||||
@@ -710,9 +710,9 @@ android.bluetooth.BluetoothHeadset$1
|
||||
android.bluetooth.BluetoothHeadset$2
|
||||
android.bluetooth.BluetoothHeadset$3
|
||||
android.bluetooth.BluetoothHealthAppConfiguration
|
||||
android.bluetooth.BluetoothInputDevice
|
||||
android.bluetooth.BluetoothInputDevice$1
|
||||
android.bluetooth.BluetoothInputDevice$2
|
||||
android.bluetooth.BluetoothHidHost
|
||||
android.bluetooth.BluetoothHidHost$1
|
||||
android.bluetooth.BluetoothHidHost$2
|
||||
android.bluetooth.BluetoothInputStream
|
||||
android.bluetooth.BluetoothManager
|
||||
android.bluetooth.BluetoothMap
|
||||
@@ -755,9 +755,9 @@ android.bluetooth.IBluetoothHeadsetPhone$Stub$Proxy
|
||||
android.bluetooth.IBluetoothHealth
|
||||
android.bluetooth.IBluetoothHealth$Stub
|
||||
android.bluetooth.IBluetoothHealthCallback
|
||||
android.bluetooth.IBluetoothInputDevice
|
||||
android.bluetooth.IBluetoothInputDevice$Stub
|
||||
android.bluetooth.IBluetoothInputDevice$Stub$Proxy
|
||||
android.bluetooth.IBluetoothHidHost
|
||||
android.bluetooth.IBluetoothHidHost$Stub
|
||||
android.bluetooth.IBluetoothHidHost$Stub$Proxy
|
||||
android.bluetooth.IBluetoothManager
|
||||
android.bluetooth.IBluetoothManager$Stub
|
||||
android.bluetooth.IBluetoothManager$Stub$Proxy
|
||||
|
||||
@@ -2104,8 +2104,8 @@ public final class BluetoothAdapter {
|
||||
} else if (profile == BluetoothProfile.AVRCP_CONTROLLER) {
|
||||
BluetoothAvrcpController avrcp = new BluetoothAvrcpController(context, listener);
|
||||
return true;
|
||||
} else if (profile == BluetoothProfile.INPUT_DEVICE) {
|
||||
BluetoothInputDevice iDev = new BluetoothInputDevice(context, listener);
|
||||
} else if (profile == BluetoothProfile.HID_HOST) {
|
||||
BluetoothHidHost iDev = new BluetoothHidHost(context, listener);
|
||||
return true;
|
||||
} else if (profile == BluetoothProfile.PAN) {
|
||||
BluetoothPan pan = new BluetoothPan(context, listener);
|
||||
@@ -2128,8 +2128,8 @@ public final class BluetoothAdapter {
|
||||
} else if (profile == BluetoothProfile.MAP_CLIENT) {
|
||||
BluetoothMapClient mapClient = new BluetoothMapClient(context, listener);
|
||||
return true;
|
||||
} else if (profile == BluetoothProfile.INPUT_HOST) {
|
||||
BluetoothInputHost iHost = new BluetoothInputHost(context, listener);
|
||||
} else if (profile == BluetoothProfile.HID_DEVICE) {
|
||||
BluetoothHidDevice hidDevice = new BluetoothHidDevice(context, listener);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@@ -2167,8 +2167,8 @@ public final class BluetoothAdapter {
|
||||
BluetoothAvrcpController avrcp = (BluetoothAvrcpController) proxy;
|
||||
avrcp.close();
|
||||
break;
|
||||
case BluetoothProfile.INPUT_DEVICE:
|
||||
BluetoothInputDevice iDev = (BluetoothInputDevice) proxy;
|
||||
case BluetoothProfile.HID_HOST:
|
||||
BluetoothHidHost iDev = (BluetoothHidHost) proxy;
|
||||
iDev.close();
|
||||
break;
|
||||
case BluetoothProfile.PAN:
|
||||
@@ -2207,9 +2207,9 @@ public final class BluetoothAdapter {
|
||||
BluetoothMapClient mapClient = (BluetoothMapClient) proxy;
|
||||
mapClient.close();
|
||||
break;
|
||||
case BluetoothProfile.INPUT_HOST:
|
||||
BluetoothInputHost iHost = (BluetoothInputHost) proxy;
|
||||
iHost.close();
|
||||
case BluetoothProfile.HID_DEVICE:
|
||||
BluetoothHidDevice hidDevice = (BluetoothHidDevice) proxy;
|
||||
hidDevice.close();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,9 +33,9 @@ import java.util.List;
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public final class BluetoothInputHost implements BluetoothProfile {
|
||||
public final class BluetoothHidDevice implements BluetoothProfile {
|
||||
|
||||
private static final String TAG = BluetoothInputHost.class.getSimpleName();
|
||||
private static final String TAG = BluetoothHidDevice.class.getSimpleName();
|
||||
|
||||
/**
|
||||
* Intent used to broadcast the change in connection state of the Input
|
||||
@@ -57,7 +57,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
|
||||
public static final String ACTION_CONNECTION_STATE_CHANGED =
|
||||
"android.bluetooth.inputhost.profile.action.CONNECTION_STATE_CHANGED";
|
||||
"android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED";
|
||||
|
||||
/**
|
||||
* Constants representing device subclass.
|
||||
@@ -113,7 +113,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
|
||||
private ServiceListener mServiceListener;
|
||||
|
||||
private volatile IBluetoothInputHost mService;
|
||||
private volatile IBluetoothHidDevice mService;
|
||||
|
||||
private BluetoothAdapter mAdapter;
|
||||
|
||||
@@ -205,23 +205,23 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
private final ServiceConnection mConnection = new ServiceConnection() {
|
||||
public void onServiceConnected(ComponentName className, IBinder service) {
|
||||
Log.d(TAG, "onServiceConnected()");
|
||||
mService = IBluetoothInputHost.Stub.asInterface(service);
|
||||
mService = IBluetoothHidDevice.Stub.asInterface(service);
|
||||
if (mServiceListener != null) {
|
||||
mServiceListener.onServiceConnected(BluetoothProfile.INPUT_HOST,
|
||||
BluetoothInputHost.this);
|
||||
mServiceListener.onServiceConnected(BluetoothProfile.HID_DEVICE,
|
||||
BluetoothHidDevice.this);
|
||||
}
|
||||
}
|
||||
public void onServiceDisconnected(ComponentName className) {
|
||||
Log.d(TAG, "onServiceDisconnected()");
|
||||
mService = null;
|
||||
if (mServiceListener != null) {
|
||||
mServiceListener.onServiceDisconnected(BluetoothProfile.INPUT_HOST);
|
||||
mServiceListener.onServiceDisconnected(BluetoothProfile.HID_DEVICE);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
BluetoothInputHost(Context context, ServiceListener listener) {
|
||||
Log.v(TAG, "BluetoothInputHost");
|
||||
BluetoothHidDevice(Context context, ServiceListener listener) {
|
||||
Log.v(TAG, "BluetoothHidDevice");
|
||||
|
||||
mContext = context;
|
||||
mServiceListener = listener;
|
||||
@@ -240,7 +240,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
}
|
||||
|
||||
boolean doBind() {
|
||||
Intent intent = new Intent(IBluetoothInputHost.class.getName());
|
||||
Intent intent = new Intent(IBluetoothHidDevice.class.getName());
|
||||
ComponentName comp = intent.resolveSystemService(mContext.getPackageManager(), 0);
|
||||
intent.setComponent(comp);
|
||||
if (comp == null || !mContext.bindServiceAsUser(intent, mConnection, 0,
|
||||
@@ -285,7 +285,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
public List<BluetoothDevice> getConnectedDevices() {
|
||||
Log.v(TAG, "getConnectedDevices()");
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
return service.getConnectedDevices();
|
||||
@@ -306,7 +306,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states) {
|
||||
Log.v(TAG, "getDevicesMatchingConnectionStates(): states=" + Arrays.toString(states));
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
return service.getDevicesMatchingConnectionStates(states);
|
||||
@@ -327,7 +327,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
public int getConnectionState(BluetoothDevice device) {
|
||||
Log.v(TAG, "getConnectionState(): device=" + device);
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
return service.getConnectionState(device);
|
||||
@@ -367,7 +367,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
return false;
|
||||
}
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
BluetoothHidDeviceAppConfiguration config =
|
||||
@@ -401,7 +401,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
|
||||
boolean result = false;
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
result = service.unregisterApp(config);
|
||||
@@ -426,7 +426,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
public boolean sendReport(BluetoothDevice device, int id, byte[] data) {
|
||||
boolean result = false;
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
result = service.sendReport(device, id, data);
|
||||
@@ -454,7 +454,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
|
||||
boolean result = false;
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
result = service.replyReport(device, type, id, data);
|
||||
@@ -480,7 +480,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
|
||||
boolean result = false;
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
result = service.reportError(device, error);
|
||||
@@ -504,7 +504,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
|
||||
boolean result = false;
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
result = service.unplug(device);
|
||||
@@ -529,7 +529,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
|
||||
boolean result = false;
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
result = service.connect(device);
|
||||
@@ -553,7 +553,7 @@ public final class BluetoothInputHost implements BluetoothProfile {
|
||||
|
||||
boolean result = false;
|
||||
|
||||
final IBluetoothInputHost service = mService;
|
||||
final IBluetoothHidDevice service = mService;
|
||||
if (service != null) {
|
||||
try {
|
||||
result = service.disconnect(device);
|
||||
@@ -35,16 +35,16 @@ import java.util.List;
|
||||
* This class provides the public APIs to control the Bluetooth Input
|
||||
* Device Profile.
|
||||
*
|
||||
* <p>BluetoothInputDevice is a proxy object for controlling the Bluetooth
|
||||
* <p>BluetoothHidHost is a proxy object for controlling the Bluetooth
|
||||
* Service via IPC. Use {@link BluetoothAdapter#getProfileProxy} to get
|
||||
* the BluetoothInputDevice proxy object.
|
||||
* the BluetoothHidHost proxy object.
|
||||
*
|
||||
* <p>Each method is protected with its appropriate permission.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
private static final String TAG = "BluetoothInputDevice";
|
||||
public final class BluetoothHidHost implements BluetoothProfile {
|
||||
private static final String TAG = "BluetoothHidHost";
|
||||
private static final boolean DBG = true;
|
||||
private static final boolean VDBG = false;
|
||||
|
||||
@@ -177,52 +177,52 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_PROTOCOL_MODE =
|
||||
"android.bluetooth.BluetoothInputDevice.extra.PROTOCOL_MODE";
|
||||
"android.bluetooth.BluetoothHidHost.extra.PROTOCOL_MODE";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_REPORT_TYPE =
|
||||
"android.bluetooth.BluetoothInputDevice.extra.REPORT_TYPE";
|
||||
"android.bluetooth.BluetoothHidHost.extra.REPORT_TYPE";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_REPORT_ID =
|
||||
"android.bluetooth.BluetoothInputDevice.extra.REPORT_ID";
|
||||
"android.bluetooth.BluetoothHidHost.extra.REPORT_ID";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_REPORT_BUFFER_SIZE =
|
||||
"android.bluetooth.BluetoothInputDevice.extra.REPORT_BUFFER_SIZE";
|
||||
"android.bluetooth.BluetoothHidHost.extra.REPORT_BUFFER_SIZE";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_REPORT = "android.bluetooth.BluetoothInputDevice.extra.REPORT";
|
||||
public static final String EXTRA_REPORT = "android.bluetooth.BluetoothHidHost.extra.REPORT";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_STATUS = "android.bluetooth.BluetoothInputDevice.extra.STATUS";
|
||||
public static final String EXTRA_STATUS = "android.bluetooth.BluetoothHidHost.extra.STATUS";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_VIRTUAL_UNPLUG_STATUS =
|
||||
"android.bluetooth.BluetoothInputDevice.extra.VIRTUAL_UNPLUG_STATUS";
|
||||
"android.bluetooth.BluetoothHidHost.extra.VIRTUAL_UNPLUG_STATUS";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static final String EXTRA_IDLE_TIME =
|
||||
"android.bluetooth.BluetoothInputDevice.extra.IDLE_TIME";
|
||||
"android.bluetooth.BluetoothHidHost.extra.IDLE_TIME";
|
||||
|
||||
private Context mContext;
|
||||
private ServiceListener mServiceListener;
|
||||
private BluetoothAdapter mAdapter;
|
||||
private volatile IBluetoothInputDevice mService;
|
||||
private volatile IBluetoothHidHost mService;
|
||||
|
||||
private final IBluetoothStateChangeCallback mBluetoothStateChangeCallback =
|
||||
new IBluetoothStateChangeCallback.Stub() {
|
||||
@@ -254,10 +254,10 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
};
|
||||
|
||||
/**
|
||||
* Create a BluetoothInputDevice proxy object for interacting with the local
|
||||
* Create a BluetoothHidHost proxy object for interacting with the local
|
||||
* Bluetooth Service which handles the InputDevice profile
|
||||
*/
|
||||
/*package*/ BluetoothInputDevice(Context context, ServiceListener l) {
|
||||
/*package*/ BluetoothHidHost(Context context, ServiceListener l) {
|
||||
mContext = context;
|
||||
mServiceListener = l;
|
||||
mAdapter = BluetoothAdapter.getDefaultAdapter();
|
||||
@@ -275,7 +275,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
}
|
||||
|
||||
boolean doBind() {
|
||||
Intent intent = new Intent(IBluetoothInputDevice.class.getName());
|
||||
Intent intent = new Intent(IBluetoothHidHost.class.getName());
|
||||
ComponentName comp = intent.resolveSystemService(mContext.getPackageManager(), 0);
|
||||
intent.setComponent(comp);
|
||||
if (comp == null || !mContext.bindServiceAsUser(intent, mConnection, 0,
|
||||
@@ -331,7 +331,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean connect(BluetoothDevice device) {
|
||||
if (DBG) log("connect(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.connect(device);
|
||||
@@ -371,7 +371,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean disconnect(BluetoothDevice device) {
|
||||
if (DBG) log("disconnect(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.disconnect(device);
|
||||
@@ -390,7 +390,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
@Override
|
||||
public List<BluetoothDevice> getConnectedDevices() {
|
||||
if (VDBG) log("getConnectedDevices()");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled()) {
|
||||
try {
|
||||
return service.getConnectedDevices();
|
||||
@@ -409,7 +409,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
@Override
|
||||
public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states) {
|
||||
if (VDBG) log("getDevicesMatchingStates()");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled()) {
|
||||
try {
|
||||
return service.getDevicesMatchingConnectionStates(states);
|
||||
@@ -428,7 +428,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
@Override
|
||||
public int getConnectionState(BluetoothDevice device) {
|
||||
if (VDBG) log("getState(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.getConnectionState(device);
|
||||
@@ -458,7 +458,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean setPriority(BluetoothDevice device, int priority) {
|
||||
if (DBG) log("setPriority(" + device + ", " + priority + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
if (priority != BluetoothProfile.PRIORITY_OFF
|
||||
&& priority != BluetoothProfile.PRIORITY_ON) {
|
||||
@@ -490,7 +490,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public int getPriority(BluetoothDevice device) {
|
||||
if (VDBG) log("getPriority(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.getPriority(device);
|
||||
@@ -506,11 +506,11 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
private final ServiceConnection mConnection = new ServiceConnection() {
|
||||
public void onServiceConnected(ComponentName className, IBinder service) {
|
||||
if (DBG) Log.d(TAG, "Proxy object connected");
|
||||
mService = IBluetoothInputDevice.Stub.asInterface(Binder.allowBlocking(service));
|
||||
mService = IBluetoothHidHost.Stub.asInterface(Binder.allowBlocking(service));
|
||||
|
||||
if (mServiceListener != null) {
|
||||
mServiceListener.onServiceConnected(BluetoothProfile.INPUT_DEVICE,
|
||||
BluetoothInputDevice.this);
|
||||
mServiceListener.onServiceConnected(BluetoothProfile.HID_HOST,
|
||||
BluetoothHidHost.this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -518,7 +518,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
if (DBG) Log.d(TAG, "Proxy object disconnected");
|
||||
mService = null;
|
||||
if (mServiceListener != null) {
|
||||
mServiceListener.onServiceDisconnected(BluetoothProfile.INPUT_DEVICE);
|
||||
mServiceListener.onServiceDisconnected(BluetoothProfile.HID_HOST);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -542,7 +542,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean virtualUnplug(BluetoothDevice device) {
|
||||
if (DBG) log("virtualUnplug(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.virtualUnplug(device);
|
||||
@@ -568,7 +568,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean getProtocolMode(BluetoothDevice device) {
|
||||
if (VDBG) log("getProtocolMode(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.getProtocolMode(device);
|
||||
@@ -592,7 +592,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean setProtocolMode(BluetoothDevice device, int protocolMode) {
|
||||
if (DBG) log("setProtocolMode(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.setProtocolMode(device, protocolMode);
|
||||
@@ -623,7 +623,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
log("getReport(" + device + "), reportType=" + reportType + " reportId=" + reportId
|
||||
+ "bufferSize=" + bufferSize);
|
||||
}
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.getReport(device, reportType, reportId, bufferSize);
|
||||
@@ -649,7 +649,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean setReport(BluetoothDevice device, byte reportType, String report) {
|
||||
if (VDBG) log("setReport(" + device + "), reportType=" + reportType + " report=" + report);
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.setReport(device, reportType, report);
|
||||
@@ -674,7 +674,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean sendData(BluetoothDevice device, String report) {
|
||||
if (DBG) log("sendData(" + device + "), report=" + report);
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.sendData(device, report);
|
||||
@@ -698,7 +698,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean getIdleTime(BluetoothDevice device) {
|
||||
if (DBG) log("getIdletime(" + device + ")");
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.getIdleTime(device);
|
||||
@@ -723,7 +723,7 @@ public final class BluetoothInputDevice implements BluetoothProfile {
|
||||
*/
|
||||
public boolean setIdleTime(BluetoothDevice device, byte idleTime) {
|
||||
if (DBG) log("setIdletime(" + device + "), idleTime=" + idleTime);
|
||||
final IBluetoothInputDevice service = mService;
|
||||
final IBluetoothHidHost service = mService;
|
||||
if (service != null && isEnabled() && isValidDevice(device)) {
|
||||
try {
|
||||
return service.setIdleTime(device, idleTime);
|
||||
@@ -73,11 +73,11 @@ public interface BluetoothProfile {
|
||||
public static final int HEALTH = 3;
|
||||
|
||||
/**
|
||||
* Input Device Profile
|
||||
* HID Host
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final int INPUT_DEVICE = 4;
|
||||
public static final int HID_HOST = 4;
|
||||
|
||||
/**
|
||||
* PAN Profile
|
||||
@@ -152,11 +152,11 @@ public interface BluetoothProfile {
|
||||
public static final int MAP_CLIENT = 18;
|
||||
|
||||
/**
|
||||
* Input Host
|
||||
* HID Device
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static final int INPUT_HOST = 19;
|
||||
public static final int HID_DEVICE = 19;
|
||||
|
||||
/**
|
||||
* Max profile ID. This value should be updated whenever a new profile is added to match
|
||||
|
||||
@@ -9347,7 +9347,7 @@ public final class Settings {
|
||||
* Get the key that retrieves a bluetooth Input Device's priority.
|
||||
* @hide
|
||||
*/
|
||||
public static final String getBluetoothInputDevicePriorityKey(String address) {
|
||||
public static final String getBluetoothHidHostPriorityKey(String address) {
|
||||
return BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX + address.toUpperCase(Locale.ROOT);
|
||||
}
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<protected-broadcast
|
||||
android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
|
||||
<protected-broadcast
|
||||
android:name="android.bluetooth.inputhost.profile.action.CONNECTION_STATE_CHANGED" />
|
||||
android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
|
||||
<protected-broadcast
|
||||
android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
|
||||
<protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
|
||||
|
||||
@@ -256,13 +256,13 @@ public class BluetoothStressTest extends InstrumentationTestCase {
|
||||
mTestUtils.unpair(mAdapter, device);
|
||||
mTestUtils.pair(mAdapter, device, BluetoothTestRunner.sDevicePairPasskey,
|
||||
BluetoothTestRunner.sDevicePairPin);
|
||||
mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.INPUT_DEVICE, null);
|
||||
mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.HID_HOST, null);
|
||||
|
||||
for (int i = 0; i < iterations; i++) {
|
||||
mTestUtils.writeOutput("connectInput iteration " + (i + 1) + " of " + iterations);
|
||||
mTestUtils.connectProfile(mAdapter, device, BluetoothProfile.INPUT_DEVICE,
|
||||
mTestUtils.connectProfile(mAdapter, device, BluetoothProfile.HID_HOST,
|
||||
String.format("connectInput(device=%s)", device));
|
||||
mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.INPUT_DEVICE,
|
||||
mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.HID_HOST,
|
||||
String.format("disconnectInput(device=%s)", device));
|
||||
}
|
||||
|
||||
|
||||
@@ -227,8 +227,8 @@ public class BluetoothTestUtils extends Assert {
|
||||
case BluetoothProfile.HEADSET:
|
||||
mConnectionAction = BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED;
|
||||
break;
|
||||
case BluetoothProfile.INPUT_DEVICE:
|
||||
mConnectionAction = BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED;
|
||||
case BluetoothProfile.HID_HOST:
|
||||
mConnectionAction = BluetoothHidHost.ACTION_CONNECTION_STATE_CHANGED;
|
||||
break;
|
||||
case BluetoothProfile.PAN:
|
||||
mConnectionAction = BluetoothPan.ACTION_CONNECTION_STATE_CHANGED;
|
||||
@@ -322,8 +322,8 @@ public class BluetoothTestUtils extends Assert {
|
||||
case BluetoothProfile.HEADSET:
|
||||
mHeadset = (BluetoothHeadset) proxy;
|
||||
break;
|
||||
case BluetoothProfile.INPUT_DEVICE:
|
||||
mInput = (BluetoothInputDevice) proxy;
|
||||
case BluetoothProfile.HID_HOST:
|
||||
mInput = (BluetoothHidHost) proxy;
|
||||
break;
|
||||
case BluetoothProfile.PAN:
|
||||
mPan = (BluetoothPan) proxy;
|
||||
@@ -342,7 +342,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
case BluetoothProfile.HEADSET:
|
||||
mHeadset = null;
|
||||
break;
|
||||
case BluetoothProfile.INPUT_DEVICE:
|
||||
case BluetoothProfile.HID_HOST:
|
||||
mInput = null;
|
||||
break;
|
||||
case BluetoothProfile.PAN:
|
||||
@@ -362,7 +362,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
private Context mContext;
|
||||
private BluetoothA2dp mA2dp = null;
|
||||
private BluetoothHeadset mHeadset = null;
|
||||
private BluetoothInputDevice mInput = null;
|
||||
private BluetoothHidHost mInput = null;
|
||||
private BluetoothPan mPan = null;
|
||||
|
||||
/**
|
||||
@@ -894,7 +894,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
* @param adapter The BT adapter.
|
||||
* @param device The remote device.
|
||||
* @param profile The profile to connect. One of {@link BluetoothProfile#A2DP},
|
||||
* {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#INPUT_DEVICE}.
|
||||
* {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#HID_HOST}.
|
||||
* @param methodName The method name to printed in the logs. If null, will be
|
||||
* "connectProfile(profile=<profile>, device=<device>)"
|
||||
*/
|
||||
@@ -935,8 +935,8 @@ public class BluetoothTestUtils extends Assert {
|
||||
assertTrue(((BluetoothA2dp)proxy).connect(device));
|
||||
} else if (profile == BluetoothProfile.HEADSET) {
|
||||
assertTrue(((BluetoothHeadset)proxy).connect(device));
|
||||
} else if (profile == BluetoothProfile.INPUT_DEVICE) {
|
||||
assertTrue(((BluetoothInputDevice)proxy).connect(device));
|
||||
} else if (profile == BluetoothProfile.HID_HOST) {
|
||||
assertTrue(((BluetoothHidHost)proxy).connect(device));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -975,7 +975,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
* @param adapter The BT adapter.
|
||||
* @param device The remote device.
|
||||
* @param profile The profile to disconnect. One of {@link BluetoothProfile#A2DP},
|
||||
* {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#INPUT_DEVICE}.
|
||||
* {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#HID_HOST}.
|
||||
* @param methodName The method name to printed in the logs. If null, will be
|
||||
* "connectProfile(profile=<profile>, device=<device>)"
|
||||
*/
|
||||
@@ -1010,8 +1010,8 @@ public class BluetoothTestUtils extends Assert {
|
||||
assertTrue(((BluetoothA2dp)proxy).disconnect(device));
|
||||
} else if (profile == BluetoothProfile.HEADSET) {
|
||||
assertTrue(((BluetoothHeadset)proxy).disconnect(device));
|
||||
} else if (profile == BluetoothProfile.INPUT_DEVICE) {
|
||||
assertTrue(((BluetoothInputDevice)proxy).disconnect(device));
|
||||
} else if (profile == BluetoothProfile.HID_HOST) {
|
||||
assertTrue(((BluetoothHidHost)proxy).disconnect(device));
|
||||
}
|
||||
break;
|
||||
case BluetoothProfile.STATE_DISCONNECTED:
|
||||
@@ -1237,7 +1237,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
long s = System.currentTimeMillis();
|
||||
while (System.currentTimeMillis() - s < CONNECT_DISCONNECT_PROFILE_TIMEOUT) {
|
||||
state = mPan.getConnectionState(device);
|
||||
if (state == BluetoothInputDevice.STATE_DISCONNECTED
|
||||
if (state == BluetoothHidHost.STATE_DISCONNECTED
|
||||
&& (receiver.getFiredFlags() & mask) == mask) {
|
||||
long finish = receiver.getCompletedTime();
|
||||
if (start != -1 && finish != -1) {
|
||||
@@ -1255,7 +1255,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
int firedFlags = receiver.getFiredFlags();
|
||||
removeReceiver(receiver);
|
||||
fail(String.format("%s timeout: state=%d (expected %d), flags=0x%x (expected 0x%s)",
|
||||
methodName, state, BluetoothInputDevice.STATE_DISCONNECTED, firedFlags, mask));
|
||||
methodName, state, BluetoothHidHost.STATE_DISCONNECTED, firedFlags, mask));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1404,7 +1404,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
String[] actions = {
|
||||
BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED,
|
||||
BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED,
|
||||
BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED};
|
||||
BluetoothHidHost.ACTION_CONNECTION_STATE_CHANGED};
|
||||
ConnectProfileReceiver receiver = new ConnectProfileReceiver(device, profile,
|
||||
expectedFlags);
|
||||
addReceiver(receiver, actions);
|
||||
@@ -1443,7 +1443,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
return mHeadset;
|
||||
}
|
||||
break;
|
||||
case BluetoothProfile.INPUT_DEVICE:
|
||||
case BluetoothProfile.HID_HOST:
|
||||
if (mInput != null) {
|
||||
return mInput;
|
||||
}
|
||||
@@ -1469,7 +1469,7 @@ public class BluetoothTestUtils extends Assert {
|
||||
sleep(POLL_TIME);
|
||||
}
|
||||
return mHeadset;
|
||||
case BluetoothProfile.INPUT_DEVICE:
|
||||
case BluetoothProfile.HID_HOST:
|
||||
while (mInput == null && System.currentTimeMillis() - s < CONNECT_PROXY_TIMEOUT) {
|
||||
sleep(POLL_TIME);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.settingslib.bluetooth;
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothClass;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.bluetooth.BluetoothInputDevice;
|
||||
import android.bluetooth.BluetoothHidHost;
|
||||
import android.bluetooth.BluetoothProfile;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
@@ -35,7 +35,7 @@ public final class HidProfile implements LocalBluetoothProfile {
|
||||
private static final String TAG = "HidProfile";
|
||||
private static boolean V = true;
|
||||
|
||||
private BluetoothInputDevice mService;
|
||||
private BluetoothHidHost mService;
|
||||
private boolean mIsProfileReady;
|
||||
|
||||
private final LocalBluetoothAdapter mLocalAdapter;
|
||||
@@ -53,7 +53,7 @@ public final class HidProfile implements LocalBluetoothProfile {
|
||||
|
||||
public void onServiceConnected(int profile, BluetoothProfile proxy) {
|
||||
if (V) Log.d(TAG,"Bluetooth service connected");
|
||||
mService = (BluetoothInputDevice) proxy;
|
||||
mService = (BluetoothHidHost) proxy;
|
||||
// We just bound to the service, so refresh the UI for any connected HID devices.
|
||||
List<BluetoothDevice> deviceList = mService.getConnectedDevices();
|
||||
while (!deviceList.isEmpty()) {
|
||||
@@ -87,7 +87,7 @@ public final class HidProfile implements LocalBluetoothProfile {
|
||||
mDeviceManager = deviceManager;
|
||||
mProfileManager = profileManager;
|
||||
adapter.getProfileProxy(context, new InputDeviceServiceListener(),
|
||||
BluetoothProfile.INPUT_DEVICE);
|
||||
BluetoothProfile.HID_HOST);
|
||||
}
|
||||
|
||||
public boolean isConnectable() {
|
||||
@@ -190,7 +190,7 @@ public final class HidProfile implements LocalBluetoothProfile {
|
||||
if (V) Log.d(TAG, "finalize()");
|
||||
if (mService != null) {
|
||||
try {
|
||||
BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.INPUT_DEVICE,
|
||||
BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.HID_HOST,
|
||||
mService);
|
||||
mService = null;
|
||||
}catch (Throwable t) {
|
||||
|
||||
@@ -21,9 +21,9 @@ import android.bluetooth.BluetoothA2dpSink;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.bluetooth.BluetoothHeadset;
|
||||
import android.bluetooth.BluetoothHeadsetClient;
|
||||
import android.bluetooth.BluetoothHidHost;
|
||||
import android.bluetooth.BluetoothMap;
|
||||
import android.bluetooth.BluetoothMapClient;
|
||||
import android.bluetooth.BluetoothInputDevice;
|
||||
import android.bluetooth.BluetoothPan;
|
||||
import android.bluetooth.BluetoothPbapClient;
|
||||
import android.bluetooth.BluetoothProfile;
|
||||
@@ -123,7 +123,7 @@ public class LocalBluetoothProfileManager {
|
||||
// Always add HID and PAN profiles
|
||||
mHidProfile = new HidProfile(context, mLocalAdapter, mDeviceManager, this);
|
||||
addProfile(mHidProfile, HidProfile.NAME,
|
||||
BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED);
|
||||
BluetoothHidHost.ACTION_CONNECTION_STATE_CHANGED);
|
||||
|
||||
mPanProfile = new PanProfile(context);
|
||||
addPanProfile(mPanProfile, PanProfile.NAME,
|
||||
|
||||
Reference in New Issue
Block a user