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

Commit 6da1ddaa 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 8d5b08c4
Loading
Loading
Loading
Loading
+32 −0
Original line number Original line Diff line number Diff line
@@ -1506,6 +1506,38 @@ public final class BluetoothGatt implements BluetoothProfile {
        return true;
        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)}
     * Not supported - please use {@link BluetoothManager#getConnectedDevices(int)}
     * with {@link BluetoothProfile#GATT} as argument
     * with {@link BluetoothProfile#GATT} as argument