Scan LE audio hearing aids in HearingDevicePairingDetail

Only ASHA hearing aids can be scanned from HearingDevicePairingDetail.
Add the ability to scan LE audio hearing aids (which supports HAP
profile) in hearing device page.

Since we're not sure what will hearing aids vendors organize the data in
the advertisement packet, add the filters as long as it's possible to
increase coverage when scanning hearing aid devices.

Bug: 286995224
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingDevicePairingDetailTest
Change-Id: I8faf85f38962653cf9bc988b02f3a4e5f2849b81
This commit is contained in:
Angela Wang
2023-06-14 06:38:23 +00:00
parent e992927655
commit 1c7a59f125

View File

@@ -28,7 +28,8 @@ import com.android.settings.R;
import com.android.settings.bluetooth.BluetoothDevicePairingDetailBase;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import java.util.Collections;
import java.util.ArrayList;
import java.util.List;
/**
* HearingDevicePairingDetail is a page to scan hearing devices. This page shows scanning icons and
@@ -42,10 +43,16 @@ public class HearingDevicePairingDetail extends BluetoothDevicePairingDetailBase
public HearingDevicePairingDetail() {
super();
final ScanFilter filter = new ScanFilter.Builder()
.setServiceData(BluetoothUuid.HEARING_AID, new byte[]{0}, new byte[]{0})
.build();
setFilter(Collections.singletonList(filter));
final List<ScanFilter> filterList = new ArrayList<>();
// Filters for ASHA hearing aids
filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HEARING_AID).build());
filterList.add(new ScanFilter.Builder()
.setServiceData(BluetoothUuid.HEARING_AID, new byte[0]).build());
// Filters for LE audio hearing aids
filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HAS).build());
filterList.add(new ScanFilter.Builder()
.setServiceData(BluetoothUuid.HAS, new byte[0]).build());
setFilter(filterList);
}
@Override