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

am: fc99848b96

Change-Id: Ie3ded1b0237b56bb4c81ad7a51c50b82267bc536
This commit is contained in:
Jakub Pawlowski
2017-04-19 21:44:50 +00:00
committed by android-build-merger
5 changed files with 41 additions and 1 deletions

View File

@@ -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);

View File

@@ -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
*/

View File

@@ -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) {}
}

View File

@@ -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() {

View File

@@ -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);