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

Commit 9f9a80ab authored by Rahul Sabnis's avatar Rahul Sabnis
Browse files

Use public address in GATT autoconnect test

RPA cannot be used for autoconnect

Bug: 283124370
Test: system/gd/cert/run --sl4a_sl4a --clean
Change-Id: Ia93fba43bf294d58e439069f6865c3d3e43bcf9c
parent 380d3f49
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -63,6 +63,10 @@ class GattConnectTest(sl4a_sl4a_base_test.Sl4aSl4aBaseTestClass):
    default_timeout = 10
    default_discovery_timeout = 3

    ADDR_TYPE_PUBLIC = 0
    ADDR_TYPE_RPA = 1
    ADDR_TYPE_NRPA = 2

    def setup_class(self):
        super().setup_class()
        self.central = self.dut
@@ -265,7 +269,7 @@ class GattConnectTest(sl4a_sl4a_base_test.Sl4aSl4aBaseTestClass):
        self.gatt_server_list.append(gatt_server)
        autoconnect = False
        mac_address, adv_callback, scan_callback = (get_mac_address_of_generic_advertisement(
            self.central, self.peripheral))
            self.central, self.peripheral, self.ADDR_TYPE_PUBLIC))
        self.adv_instances.append(adv_callback)
        self.central.log.info("Discovered BLE advertisement, connecting GATT with autoConnect={}".format(autoconnect))
        try:
@@ -293,7 +297,7 @@ class GattConnectTest(sl4a_sl4a_base_test.Sl4aSl4aBaseTestClass):
        autoconnect = True
        self.central.log.info("Connecting GATT with autoConnect={}".format(autoconnect))
        bluetooth_gatt = self.central.sl4a.gattClientConnectGatt(gatt_callback, mac_address, autoconnect,
                                                                 GattTransport.TRANSPORT_AUTO, False,
                                                                 GattTransport.TRANSPORT_LE, False,
                                                                 GattPhyMask.PHY_LE_1M_MASK)
        self.central.log.info("Waiting for GATt to become connected")
        self.bluetooth_gatt_list.append(bluetooth_gatt)
+6 −1
Original line number Diff line number Diff line
@@ -206,12 +206,13 @@ def write_record_file(file_name, audio_params, frames):
    wf.close()


def get_mac_address_of_generic_advertisement(scan_device, adv_device):
def get_mac_address_of_generic_advertisement(scan_device, adv_device, adv_addr_type=None):
    """Start generic advertisement and get it's mac address by LE scanning.

    Args:
        scan_ad: The Android device to use as the scanner.
        adv_device: The Android device to use as the advertiser.
        adv_addr_type: The address type for the advertiser (refer to AdvertiseSettings.java)

    Returns:
        mac_address: The mac address of the advertisement.
@@ -222,6 +223,10 @@ def get_mac_address_of_generic_advertisement(scan_device, adv_device):
    adv_device.sl4a.bleSetAdvertiseSettingsAdvertiseMode(ble_advertise_settings_modes['low_latency'])
    adv_device.sl4a.bleSetAdvertiseSettingsIsConnectable(True)
    adv_device.sl4a.bleSetAdvertiseSettingsTxPowerLevel(ble_advertise_settings_tx_powers['high'])

    if adv_addr_type is not None:
        adv_device.sl4a.bleSetAdvertiseSettingsOwnAddressType(adv_addr_type)

    advertise_callback, advertise_data, advertise_settings = (generate_ble_advertise_objects(adv_device.sl4a))
    adv_device.sl4a.bleStartBleAdvertising(advertise_callback, advertise_data, advertise_settings)
    try: