Use SDP when SDP succeeds and EIR when SDP fails
Currently, we discover UUIDs through Extended Inquiry Response (EIR) as well as SDP and we use the union of UUIDs discovered through both methods to connect to the remote device. This causes problems where a device has a different set of UUIDs as reported in the EIR vs. SDP. Specifically, if a device advertises support for HFP in EIR, but does not advertise HFP support in SDP, we still try to connect the HFP profile. This can cause the Settings app to display "Problem connecting. Turn device off & back on" under the Bluetooth device. Instead of using the union of UUIDs from EIR and SDP, if SDP succeeds we only report UUIDs discovered through SDP to the higher layers. If SDP fails, only then we report the UUIDs discovered through EIR to the higher layers. Bug: 230050560 Tag: #refactor Test: manual tests locally using the JBL Flip 5. Also tested the EIR reporting path by modifying the code such that SDP results are not reported and only EIR UUIDs are reported to the stack. Ignore-AOSP-First: Floss uses EIR UUIDs and they develop based on AOSP Change-Id: I0ab83c0a13528f74455dac1c95fa76828b56242d
Loading
Please register or sign in to comment