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

Commit 65be8034 authored by Stanley Tng's avatar Stanley Tng
Browse files

Add function to update LE connection parameters

As part of new SL4A tests for LE CoC to measure data throughput
performance, this commit will add a function to enable the CoC Facade
to modify the LE Connection Parameters especially the Connection
Intervals.

Test: Ran the new ACTS Tests for LE CoC
Bug: 70683224
Change-Id: Ie071b09a44d68fe063198a39eb788c434b092442
parent 7f195cee
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -1506,6 +1506,38 @@ public final class BluetoothGatt implements BluetoothProfile {
        return true;
    }

    /**
     * Request an LE connection parameter update.
     *
     * <p>This function will send an LE connection parameters update request to the remote device.
     *
     * @return true, if the request is send to the Bluetooth stack.
     * @hide
     */
    public boolean requestLeConnectionUpdate(int minConnectionInterval,
                                                 int maxConnectionInterval,
                                                 int slaveLatency, int supervisionTimeout) {
        if (DBG) {
            Log.d(TAG, "requestLeConnectionUpdate() - min=(" + minConnectionInterval
                       + ")" + (1.25 * minConnectionInterval)
                       + "msec, max=(" + maxConnectionInterval + ")"
                        + (1.25 * maxConnectionInterval) + "msec, latency=" + slaveLatency
                       + ", timeout=" + supervisionTimeout + "msec");
        }
        if (mService == null || mClientIf == 0) return false;

        try {
            mService.leConnectionUpdate(mClientIf, mDevice.getAddress(),
                                               minConnectionInterval, maxConnectionInterval,
                                               slaveLatency, supervisionTimeout);
        } catch (RemoteException e) {
            Log.e(TAG, "", e);
            return false;
        }

        return true;
    }

    /**
     * Not supported - please use {@link BluetoothManager#getConnectedDevices(int)}
     * with {@link BluetoothProfile#GATT} as argument