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

Commit 5a355610 authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Bluetooth 5 advertising duration refactoring (4/4)

Expose both duration and maximum extended advertising events to limit
advertising time.

Test: manual
Bug: 30622771
Change-Id: I44df300995ef985526b93f8c24389775720b3432
parent 3d843624
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -7495,7 +7495,7 @@ package android.bluetooth.le {
  }
  }
  public final class AdvertisingSet {
  public final class AdvertisingSet {
    method public void enableAdvertising(boolean, int);
    method public void enableAdvertising(boolean, int, int);
    method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
    method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
    method public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
@@ -7571,8 +7571,8 @@ package android.bluetooth.le {
    method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
    method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
    method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
    method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
    method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
  }
  }
+3 −3
Original line number Original line Diff line number Diff line
@@ -7800,7 +7800,7 @@ package android.bluetooth.le {
  }
  }
  public final class AdvertisingSet {
  public final class AdvertisingSet {
    method public void enableAdvertising(boolean, int);
    method public void enableAdvertising(boolean, int, int);
    method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
    method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
    method public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
@@ -7876,8 +7876,8 @@ package android.bluetooth.le {
    method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
    method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
    method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
    method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
    method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
  }
  }
+3 −3
Original line number Original line Diff line number Diff line
@@ -7504,7 +7504,7 @@ package android.bluetooth.le {
  }
  }
  public final class AdvertisingSet {
  public final class AdvertisingSet {
    method public void enableAdvertising(boolean, int);
    method public void enableAdvertising(boolean, int, int);
    method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
    method public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
    method public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
    method public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
@@ -7580,8 +7580,8 @@ package android.bluetooth.le {
    method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
    method public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
    method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
    method public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
    method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
    method public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
  }
  }
+3 −2
Original line number Original line Diff line number Diff line
@@ -52,10 +52,11 @@ interface IBluetoothGatt {


    void startAdvertisingSet(in AdvertisingSetParameters parameters, in AdvertiseData advertiseData,
    void startAdvertisingSet(in AdvertisingSetParameters parameters, in AdvertiseData advertiseData,
                                in AdvertiseData scanResponse, in PeriodicAdvertisingParameters periodicParameters,
                                in AdvertiseData scanResponse, in PeriodicAdvertisingParameters periodicParameters,
                                in AdvertiseData periodicData, in int timeout, in IAdvertisingSetCallback callback);
                                in AdvertiseData periodicData, in int duration, in int maxExtAdvEvents,
                                in IAdvertisingSetCallback callback);
    void stopAdvertisingSet(in IAdvertisingSetCallback callback);
    void stopAdvertisingSet(in IAdvertisingSetCallback callback);


    void enableAdvertisingSet(in int advertiserId, in boolean enable, in int timeout);
    void enableAdvertisingSet(in int advertiserId, in boolean enable, in int duration, in int maxExtAdvEvents);
    void setAdvertisingData(in int advertiserId, in AdvertiseData data);
    void setAdvertisingData(in int advertiserId, in AdvertiseData data);
    void setScanResponseData(in int advertiserId, in AdvertiseData data);
    void setScanResponseData(in int advertiserId, in AdvertiseData data);
    void setAdvertisingParameters(in int advertiserId, in AdvertisingSetParameters parameters);
    void setAdvertisingParameters(in int advertiserId, in AdvertisingSetParameters parameters);
+10 −3
Original line number Original line Diff line number Diff line
@@ -63,11 +63,18 @@ public final class AdvertisingSet {
     * Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
     * Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
     *
     *
     * @param enable whether the advertising should be enabled (true), or disabled (false)
     * @param enable whether the advertising should be enabled (true), or disabled (false)
     * @param timeoutMillis duration for which that advertising set is enabled.
     * @param duration advertising duration, in 10ms unit. Valid range is from 1 (10ms) to
     *                     65535 (655,350 ms)
     * @param maxExtendedAdvertisingEvents maximum number of extended advertising events the
     *                     controller shall attempt to send prior to terminating the extended
     *                     advertising, even if the duration has not expired. Valid range is
     *                     from 1 to 255.
     */
     */
    public void enableAdvertising(boolean enable, int timeout) {
    public void enableAdvertising(boolean enable, int duration,
            int maxExtendedAdvertisingEvents) {
        try {
        try {
            gatt.enableAdvertisingSet(this.advertiserId, enable, timeout);
            gatt.enableAdvertisingSet(this.advertiserId, enable, duration,
                                      maxExtendedAdvertisingEvents);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            Log.e(TAG, "remote exception - ", e);
            Log.e(TAG, "remote exception - ", e);
        }
        }
Loading