Add AdvertisingMetadata and DiscoveryMetadata in AnalyticsRecorder.

PiperOrigin-RevId: 413683376
This commit is contained in:
edwinwu
2021-12-02 08:21:30 -08:00
committed by Copybara-Service
parent b48610144b
commit e1cf7a9e9f
4 changed files with 181 additions and 23 deletions
+22 -4
View File
@@ -101,8 +101,10 @@ AnalyticsRecorder::~AnalyticsRecorder() {
serial_executor_.Shutdown();
}
void AnalyticsRecorder::OnStartAdvertising(connections::Strategy strategy,
const std::vector<Medium> &mediums) {
void AnalyticsRecorder::OnStartAdvertising(
connections::Strategy strategy, const std::vector<Medium> &mediums,
bool is_extended_advertisement_supported, int connected_ap_frequency,
bool is_nfc_available) {
MutexLock lock(&mutex_);
if (!CanRecordAnalyticsLocked("OnStartAdvertising")) {
return;
@@ -121,6 +123,13 @@ void AnalyticsRecorder::OnStartAdvertising(connections::Strategy strategy,
absl::make_unique<ConnectionsLog::AdvertisingPhase>();
absl::c_copy(mediums, RepeatedFieldBackInserter(
current_advertising_phase_->mutable_medium()));
// Set a AdvertisingMetadata.
auto *advertising_metadata =
current_advertising_phase_->mutable_advertising_metadata();
advertising_metadata->set_supports_extended_ble_advertisements(
is_extended_advertisement_supported);
advertising_metadata->set_connected_ap_frequency(connected_ap_frequency);
advertising_metadata->set_supports_nfc_technology(is_nfc_available);
}
void AnalyticsRecorder::OnStopAdvertising() {
@@ -131,8 +140,10 @@ void AnalyticsRecorder::OnStopAdvertising() {
RecordAdvertisingPhaseDurationLocked();
}
void AnalyticsRecorder::OnStartDiscovery(connections::Strategy strategy,
const std::vector<Medium> &mediums) {
void AnalyticsRecorder::OnStartDiscovery(
connections::Strategy strategy, const std::vector<Medium> &mediums,
bool is_extended_advertisement_supported, int connected_ap_frequency,
bool is_nfc_available) {
MutexLock lock(&mutex_);
if (!CanRecordAnalyticsLocked("OnStartDiscovery")) {
return;
@@ -152,6 +163,13 @@ void AnalyticsRecorder::OnStartDiscovery(connections::Strategy strategy,
absl::make_unique<ConnectionsLog::DiscoveryPhase>();
absl::c_copy(mediums, RepeatedFieldBackInserter(
current_discovery_phase_->mutable_medium()));
// Set a DiscoveryMetadata.
auto *discovery_metadata =
current_discovery_phase_->mutable_discovery_metadata();
discovery_metadata->set_supports_extended_ble_advertisements(
is_extended_advertisement_supported);
discovery_metadata->set_connected_ap_frequency(connected_ap_frequency);
discovery_metadata->set_supports_nfc_technology(is_nfc_available);
}
void AnalyticsRecorder::OnStopDiscovery() {