diff options
author | Stanley Tng <stng@google.com> | 2018-02-06 03:27:07 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-02-06 03:27:07 +0000 |
commit | 08e795acf443aa7bce1d749e189fbc3a3dee10c3 (patch) | |
tree | 203e3f629c2443b61789b9dafcced41965a1a16b /framework/java | |
parent | 54ad309c4b8c91ea23c7b9d519eb7e859151e1c4 (diff) | |
parent | 482bcaf3176f3b95914f7354d0ed9eca1632e7f5 (diff) |
Merge "Add function to change LE Tx Data Length" am: 383a7d432f
am: 482bcaf317
Change-Id: I02a15bfc36d8c8817c45e4c6f56ebbfbbf571338
Diffstat (limited to 'framework/java')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothSocket.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/framework/java/android/bluetooth/BluetoothSocket.java b/framework/java/android/bluetooth/BluetoothSocket.java index 09f96840f9..09a5b593e5 100644 --- a/framework/java/android/bluetooth/BluetoothSocket.java +++ b/framework/java/android/bluetooth/BluetoothSocket.java @@ -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]); |