Loading system/gd/storage/device.cc +1 −3 Original line number Diff line number Diff line Loading @@ -95,9 +95,7 @@ MutationEntry Device::RemoveFromTempConfig() { LeDevice Device::Le() { auto device_type = GetDeviceType(); ASSERT(device_type); ASSERT( device_type == DeviceType::LE || device_type == DeviceType::DUAL || device_type == DeviceType::UNKNOWN); ASSERT(device_type == DeviceType::LE || device_type == DeviceType::DUAL); return LeDevice(config_, memory_only_config_, section_); } Loading system/main/shim/ble_scanner_interface_impl.h +1 −2 Original line number Diff line number Diff line Loading @@ -144,8 +144,7 @@ class BleScannerInterfaceImpl : public ::BleScannerInterface, bluetooth::hci::AdvertisingPacketContentFilterCommand& advertising_packet_content_filter_command, ApcfCommand apcf_command); void handle_remote_properties(uint16_t event_type, RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, void handle_remote_properties(RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, std::vector<uint8_t> advertising_data); class AddressCache { Loading system/main/shim/le_scanning_manager.cc +9 −26 Original line number Diff line number Diff line Loading @@ -513,8 +513,8 @@ void BleScannerInterfaceImpl::OnScanResult( do_in_jni_thread( FROM_HERE, base::BindOnce(&BleScannerInterfaceImpl::handle_remote_properties, base::Unretained(this), event_type, raw_address, ble_addr_type, advertising_data)); base::Unretained(this), raw_address, ble_addr_type, advertising_data)); do_in_jni_thread( FROM_HERE, Loading Loading @@ -726,7 +726,7 @@ bool BleScannerInterfaceImpl::parse_filter_command( } void BleScannerInterfaceImpl::handle_remote_properties( uint16_t event_type, RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, std::vector<uint8_t> advertising_data) { if (!bluetooth::shim::is_gd_stack_started_up()) { LOG_WARN("Gd stack is stopped, return"); Loading @@ -738,33 +738,16 @@ void BleScannerInterfaceImpl::handle_remote_properties( return; } auto device_type = bluetooth::hci::DeviceType::LE; uint8_t flag_len; const uint8_t* p_flag = AdvertiseDataParser::GetFieldByType( advertising_data, BTM_BLE_AD_TYPE_FLAG, &flag_len); auto device_type = bluetooth::hci::DeviceType::UNKNOWN; bool is_adv_connectable = event_type & (1 << BLE_EVT_CONNECTABLE_BIT); // 1. If adv is connectable and flag data is not present, device type is // DUAL mode. if (is_adv_connectable && p_flag == nullptr) { if (p_flag != NULL && flag_len != 0) { if ((BTM_BLE_BREDR_NOT_SPT & *p_flag) == 0) { device_type = bluetooth::hci::DeviceType::DUAL; } // 2. If adv is not connectable and flag data is not present, device type is // UNKNOWN. else if (!is_adv_connectable && p_flag == nullptr) { device_type = bluetooth::hci::DeviceType::UNKNOWN; } // 3. If flag data is present, use `BR/EDR Not Supported` bit to find device // type. else { device_type = (BTM_BLE_BREDR_NOT_SPT & *p_flag) ? bluetooth::hci::DeviceType::LE : bluetooth::hci::DeviceType::DUAL; } LOG_DEBUG( "%s event_type: %d, is_adv_connectable: %d, flag data: %d, device_type: " "%d", __func__, event_type, is_adv_connectable, (p_flag ? *p_flag : 0), device_type); } uint8_t remote_name_len; const uint8_t* p_eir_remote_name = AdvertiseDataParser::GetFieldByType( Loading Loading
system/gd/storage/device.cc +1 −3 Original line number Diff line number Diff line Loading @@ -95,9 +95,7 @@ MutationEntry Device::RemoveFromTempConfig() { LeDevice Device::Le() { auto device_type = GetDeviceType(); ASSERT(device_type); ASSERT( device_type == DeviceType::LE || device_type == DeviceType::DUAL || device_type == DeviceType::UNKNOWN); ASSERT(device_type == DeviceType::LE || device_type == DeviceType::DUAL); return LeDevice(config_, memory_only_config_, section_); } Loading
system/main/shim/ble_scanner_interface_impl.h +1 −2 Original line number Diff line number Diff line Loading @@ -144,8 +144,7 @@ class BleScannerInterfaceImpl : public ::BleScannerInterface, bluetooth::hci::AdvertisingPacketContentFilterCommand& advertising_packet_content_filter_command, ApcfCommand apcf_command); void handle_remote_properties(uint16_t event_type, RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, void handle_remote_properties(RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, std::vector<uint8_t> advertising_data); class AddressCache { Loading
system/main/shim/le_scanning_manager.cc +9 −26 Original line number Diff line number Diff line Loading @@ -513,8 +513,8 @@ void BleScannerInterfaceImpl::OnScanResult( do_in_jni_thread( FROM_HERE, base::BindOnce(&BleScannerInterfaceImpl::handle_remote_properties, base::Unretained(this), event_type, raw_address, ble_addr_type, advertising_data)); base::Unretained(this), raw_address, ble_addr_type, advertising_data)); do_in_jni_thread( FROM_HERE, Loading Loading @@ -726,7 +726,7 @@ bool BleScannerInterfaceImpl::parse_filter_command( } void BleScannerInterfaceImpl::handle_remote_properties( uint16_t event_type, RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, RawAddress bd_addr, tBLE_ADDR_TYPE addr_type, std::vector<uint8_t> advertising_data) { if (!bluetooth::shim::is_gd_stack_started_up()) { LOG_WARN("Gd stack is stopped, return"); Loading @@ -738,33 +738,16 @@ void BleScannerInterfaceImpl::handle_remote_properties( return; } auto device_type = bluetooth::hci::DeviceType::LE; uint8_t flag_len; const uint8_t* p_flag = AdvertiseDataParser::GetFieldByType( advertising_data, BTM_BLE_AD_TYPE_FLAG, &flag_len); auto device_type = bluetooth::hci::DeviceType::UNKNOWN; bool is_adv_connectable = event_type & (1 << BLE_EVT_CONNECTABLE_BIT); // 1. If adv is connectable and flag data is not present, device type is // DUAL mode. if (is_adv_connectable && p_flag == nullptr) { if (p_flag != NULL && flag_len != 0) { if ((BTM_BLE_BREDR_NOT_SPT & *p_flag) == 0) { device_type = bluetooth::hci::DeviceType::DUAL; } // 2. If adv is not connectable and flag data is not present, device type is // UNKNOWN. else if (!is_adv_connectable && p_flag == nullptr) { device_type = bluetooth::hci::DeviceType::UNKNOWN; } // 3. If flag data is present, use `BR/EDR Not Supported` bit to find device // type. else { device_type = (BTM_BLE_BREDR_NOT_SPT & *p_flag) ? bluetooth::hci::DeviceType::LE : bluetooth::hci::DeviceType::DUAL; } LOG_DEBUG( "%s event_type: %d, is_adv_connectable: %d, flag data: %d, device_type: " "%d", __func__, event_type, is_adv_connectable, (p_flag ? *p_flag : 0), device_type); } uint8_t remote_name_len; const uint8_t* p_eir_remote_name = AdvertiseDataParser::GetFieldByType( Loading