Merge "Add function to change LE Tx Data Length"
am: 383a7d432f
Change-Id: I5e4e634b7265d3673a2142fc629d381d4b16b491
This commit is contained in:
@@ -676,6 +676,35 @@ public final class BluetoothSocket implements Closeable {
|
||||
mExcludeSdp = excludeSdp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the LE Transmit Data Length to be the maximum that the BT Controller is capable of. This
|
||||
* parameter is used by the BT Controller to set the maximum transmission packet size on this
|
||||
* connection. This function is currently used for testing only.
|
||||
* @hide
|
||||
*/
|
||||
public void requestMaximumTxDataLength() throws IOException {
|
||||
if (mDevice == null) {
|
||||
throw new IOException("requestMaximumTxDataLength is called on null device");
|
||||
}
|
||||
|
||||
try {
|
||||
if (mSocketState == SocketState.CLOSED) {
|
||||
throw new IOException("socket closed");
|
||||
}
|
||||
IBluetooth bluetoothProxy =
|
||||
BluetoothAdapter.getDefaultAdapter().getBluetoothService(null);
|
||||
if (bluetoothProxy == null) {
|
||||
throw new IOException("Bluetooth is off");
|
||||
}
|
||||
|
||||
if (DBG) Log.d(TAG, "requestMaximumTxDataLength");
|
||||
bluetoothProxy.getSocketManager().requestMaximumTxDataLength(mDevice);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, Log.getStackTraceString(new Throwable()));
|
||||
throw new IOException("unable to send RPC: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private String convertAddr(final byte[] addr) {
|
||||
return String.format(Locale.US, "%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
|
||||
|
||||
Reference in New Issue
Block a user