From 1c7a59f125994652784637abc9df41ce9b56b402 Mon Sep 17 00:00:00 2001 From: Angela Wang Date: Wed, 14 Jun 2023 06:38:23 +0000 Subject: [PATCH] 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 --- .../HearingDevicePairingDetail.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/accessibility/HearingDevicePairingDetail.java b/src/com/android/settings/accessibility/HearingDevicePairingDetail.java index de86dcf6909..117a8ed131b 100644 --- a/src/com/android/settings/accessibility/HearingDevicePairingDetail.java +++ b/src/com/android/settings/accessibility/HearingDevicePairingDetail.java @@ -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 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