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

Commit f27ea260 authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by android-build-merger
Browse files

Merge "Bluetooth 5 AdvertisingSet implementation (1/4)"

am: f0c963a5b6

Change-Id: Ia401ccf8935b8cb315849803c5c82d1d7dd64b81
parents ab7d545b cde0e17b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -55,13 +55,13 @@ interface IBluetoothGatt {
                                in AdvertiseData periodicData, in int timeout, in IAdvertisingSetCallback callback);
    void stopAdvertisingSet(in IAdvertisingSetCallback callback);

    void enableAdverisingSet(in int advertiserId, in boolean enable, in int timeout);
    void enableAdvertisingSet(in int advertiserId, in boolean enable, in int timeout);
    void setAdvertisingData(in int advertiserId, in AdvertiseData data);
    void setScanResponseData(in int advertiserId, in AdvertiseData data);
    void setAdvertisingParameters(in int advertiserId, in AdvertisingSetParameters parameters);
    void setPeriodicAdvertisingParameters(in int advertiserId, in PeriodicAdvertisingParameters parameters);
    void setPeriodicAdvertisingData(in int advertiserId, in AdvertiseData data);
    void periodicAdvertisingEnable(in int advertiserId, in boolean enable);
    void setPeriodicAdvertisingEnable(in int advertiserId, in boolean enable);

    void registerSync(in ScanResult scanResult, in int skip, in int timeout, in IPeriodicAdvertisingCallback callback);
    void unregisterSync(in IPeriodicAdvertisingCallback callback);
+3 −3
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ public final class AdvertisingSet {
     */
    public void enableAdvertising(boolean enable, int timeout) {
        try {
            gatt.enableAdverisingSet(this.advertiserId, enable, timeout);
            gatt.enableAdvertisingSet(this.advertiserId, enable, timeout);
        } catch (RemoteException e) {
            Log.e(TAG, "remote exception - ", e);
        }
@@ -143,9 +143,9 @@ public final class AdvertisingSet {
     * Used to enable/disable periodic advertising. This method returns immediately, the operation
     * status is delivered through {@code callback.onPeriodicAdvertisingEnable()}.
     */
    public void periodicAdvertisingEnable(boolean enable) {
    public void setPeriodicAdvertisingEnable(boolean enable) {
        try {
            gatt.periodicAdvertisingEnable(this.advertiserId, enable);
            gatt.setPeriodicAdvertisingEnable(this.advertiserId, enable);
        } catch (RemoteException e) {
            Log.e(TAG, "remote exception - ", e);
        }
+5 −3
Original line number Diff line number Diff line
@@ -62,9 +62,10 @@ public abstract class AdvertisingSetCallback {
     * null, and status will be set to proper error code.
     *
     * @param advertisingSet The advertising set that was started or null if error.
     * @param txPower tx power that will be used for this set.
     * @param status Status of the operation.
     */
    public void onAdvertisingSetStarted(AdvertisingSet advertisingSet, int status) {}
    public void onAdvertisingSetStarted(AdvertisingSet advertisingSet, int txPower, int status) {}

    /**
     * Callback triggered in response to {@link BluetoothLeAdvertiser#stopAdvertisingSet}
@@ -106,10 +107,11 @@ public abstract class AdvertisingSetCallback {
     * indicating result of the operation.
     *
     * @param advertisingSet The advertising set.
     * @param txPower tx power that will be used for this set.
     * @param status Status of the operation.
     */
    public void onAdvertisingParametersUpdated(AdvertisingSet advertisingSet,
                                               int status) {}
                                               int txPower, int status) {}

    /**
     * Callback triggered in response to {@link AdvertisingSet#setPeriodicAdvertisingParameters}
@@ -133,7 +135,7 @@ public abstract class AdvertisingSetCallback {
                                             int status) {}

    /**
     * Callback triggered in response to {@link AdvertisingSet#periodicAdvertisingEnable}
     * Callback triggered in response to {@link AdvertisingSet#setPeriodicAdvertisingEnable}
     * indicating result of the operation.
     *
     * @param advertisingSet The advertising set.
+5 −5
Original line number Diff line number Diff line
@@ -400,12 +400,12 @@ public final class BluetoothLeAdvertiser {

    IAdvertisingSetCallback wrap(AdvertisingSetCallback callback, Handler handler) {
        return new IAdvertisingSetCallback.Stub() {
            public void onAdvertisingSetStarted(int advertiserId, int status) {
            public void onAdvertisingSetStarted(int advertiserId, int txPower, int status) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (status != AdvertisingSetCallback.ADVERTISE_SUCCESS) {
                            callback.onAdvertisingSetStarted(null, status);
                            callback.onAdvertisingSetStarted(null, 0, status);
                            mCallbackWrappers.remove(callback);
                            return;
                        }
@@ -413,7 +413,7 @@ public final class BluetoothLeAdvertiser {
                        AdvertisingSet advertisingSet =
                            new AdvertisingSet(advertiserId, mBluetoothManager);
                        mAdvertisingSets.put(advertiserId, advertisingSet);
                        callback.onAdvertisingSetStarted(advertisingSet, status);
                        callback.onAdvertisingSetStarted(advertisingSet, txPower, status);
                    }
                });
            }
@@ -460,12 +460,12 @@ public final class BluetoothLeAdvertiser {
                });
            }

            public void onAdvertisingParametersUpdated(int advertiserId, int status) {
            public void onAdvertisingParametersUpdated(int advertiserId, int txPower, int status) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        AdvertisingSet advertisingSet = mAdvertisingSets.get(advertiserId);
                        callback.onAdvertisingParametersUpdated(advertisingSet, status);
                        callback.onAdvertisingParametersUpdated(advertisingSet, txPower, status);
                    }
                });
            }
+2 −2
Original line number Diff line number Diff line
@@ -20,12 +20,12 @@ package android.bluetooth.le;
 * @hide
 */
oneway interface IAdvertisingSetCallback {
  void onAdvertisingSetStarted(in int advertiserId, in int status);
  void onAdvertisingSetStarted(in int advertiserId, in int tx_power, in int status);
  void onAdvertisingSetStopped(in int advertiserId);
  void onAdvertisingEnabled(in int advertiserId, in boolean enable, in int status);
  void onAdvertisingDataSet(in int advertiserId, in int status);
  void onScanResponseDataSet(in int advertiserId, in int status);
  void onAdvertisingParametersUpdated(in int advertiserId, in int status);
  void onAdvertisingParametersUpdated(in int advertiserId, in int tx_power, in int status);
  void onPeriodicAdvertisingParametersUpdated(in int advertiserId, in int status);
  void onPeriodicAdvertisingDataSet(in int advertiserId, in int status);
  void onPeriodicAdvertisingEnable(in int advertiserId, in boolean enable, in int status);