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

Commit cb942394 authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by Gerrit Code Review
Browse files

Merge "Expose LE advertiser address for easier PTS tests (1/6)"

parents d5411a83 d424d09f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ interface IBluetoothGatt {
                                in IAdvertisingSetCallback callback);
    void stopAdvertisingSet(in IAdvertisingSetCallback callback);

    void getOwnAddress(in int advertiserId);
    void enableAdvertisingSet(in int advertiserId, in boolean enable, in int duration, in int maxExtAdvEvents);
    void setAdvertisingData(in int advertiserId, in AdvertiseData data);
    void setScanResponseData(in int advertiserId, in AdvertiseData data);
+17 −1
Original line number Diff line number Diff line
@@ -181,7 +181,23 @@ public final class AdvertisingSet {
    }

    /**
     * Returns advertiserId associated with thsi advertising set.
     * Returns address associated with this advertising set.
     * This method is exposed only for Bluetooth PTS tests, no app or system service
     * should ever use it.
     *
     * This method requires {@link android.Manifest.permission#BLUETOOTH_PRIVILEGED} permission.
     * @hide
     */
    public void getOwnAddress(){
        try {
            gatt.getOwnAddress(this.advertiserId);
        } catch (RemoteException e) {
            Log.e(TAG, "remote exception - ", e);
        }
    }

    /**
     * Returns advertiserId associated with this advertising set.
     *
     * @hide
     */
+11 −0
Original line number Diff line number Diff line
@@ -143,4 +143,15 @@ public abstract class AdvertisingSetCallback {
     */
    public void onPeriodicAdvertisingEnabled(AdvertisingSet advertisingSet, boolean enable,
                                            int status) {}

    /**
     * Callback triggered in response to {@link AdvertisingSet#getOwnAddress()}
     * indicating result of the operation.
     *
     * @param advertisingSet The advertising set.
     * @param addressType type of address.
     * @param address advertising set bluetooth address.
     * @hide
     */
    public void onOwnAddressRead(AdvertisingSet advertisingSet, int addressType, String address) {}
}
 No newline at end of file
+11 −0
Original line number Diff line number Diff line
@@ -544,6 +544,17 @@ public final class BluetoothLeAdvertiser {
                });
            }

            @Override
            public void onOwnAddressRead(int advertiserId, int addressType, String address) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        AdvertisingSet advertisingSet = mAdvertisingSets.get(advertiserId);
                        callback.onOwnAddressRead(advertisingSet, addressType, address);
                    }
                });
            }

            @Override
            public void onAdvertisingSetStopped(int advertiserId) {
                handler.post(new Runnable() {
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ package android.bluetooth.le;
 */
oneway interface IAdvertisingSetCallback {
  void onAdvertisingSetStarted(in int advertiserId, in int tx_power, in int status);
  void onOwnAddressRead(in int advertiserId, in int addressType, in String address);
  void onAdvertisingSetStopped(in int advertiserId);
  void onAdvertisingEnabled(in int advertiserId, in boolean enable, in int status);
  void onAdvertisingDataSet(in int advertiserId, in int status);