Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08e795ac authored by Stanley Tng's avatar Stanley Tng Committed by android-build-merger
Browse files

Merge "Add function to change LE Tx Data Length" am: 383a7d432f

am: 482bcaf3

Change-Id: I02a15bfc36d8c8817c45e4c6f56ebbfbbf571338
parents 54ad309c 482bcaf3
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -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]);