summaryrefslogtreecommitdiff
path: root/wifi/1.0/default/hidl_struct_util.cpp
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2017-03-13 10:44:20 -0700
committerRoshan Pius <rpius@google.com>2017-03-13 17:12:32 -0700
commite42ace24045ec47bf1396a0ecefb729f02825a21 (patch)
tree64c114a119111d89b72b2efb0d619ff7e965df3b /wifi/1.0/default/hidl_struct_util.cpp
parent2e429d6b644d7aeae5ecd521b3f020ec595ed6dd (diff)
wifi: Add support for multiple radio stats
Previously, we've always assumed that we have only one instance of radio stats fetched in link layer stats. This is no longer true for the newer devices which support multiple radios. Also, Changed the timestamp member from uint32_t to uint64_t. Bug: 36148086 Test: The error logs no longer seen on newer devices. Change-Id: I048a1db7cc0bfb0dc0dacafff2156f42a8ae1e63
Diffstat (limited to 'wifi/1.0/default/hidl_struct_util.cpp')
-rw-r--r--wifi/1.0/default/hidl_struct_util.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/wifi/1.0/default/hidl_struct_util.cpp b/wifi/1.0/default/hidl_struct_util.cpp
index a89f8c0492..fb93c5ad9c 100644
--- a/wifi/1.0/default/hidl_struct_util.cpp
+++ b/wifi/1.0/default/hidl_struct_util.cpp
@@ -706,11 +706,17 @@ bool convertLegacyLinkLayerStatsToHidl(
hidl_stats->iface.wmeVoPktStats.retries =
legacy_stats.iface.ac[legacy_hal::WIFI_AC_VO].retries;
// radio legacy_stats conversion.
- hidl_stats->radio.onTimeInMs = legacy_stats.radio.on_time;
- hidl_stats->radio.txTimeInMs = legacy_stats.radio.tx_time;
- hidl_stats->radio.rxTimeInMs = legacy_stats.radio.rx_time;
- hidl_stats->radio.onTimeInMsForScan = legacy_stats.radio.on_time_scan;
- hidl_stats->radio.txTimeInMsPerLevel = legacy_stats.radio_tx_time_per_levels;
+ std::vector<StaLinkLayerRadioStats> hidl_radios_stats;
+ for (const auto& legacy_radio_stats : legacy_stats.radios) {
+ StaLinkLayerRadioStats hidl_radio_stats;
+ hidl_radio_stats.onTimeInMs = legacy_radio_stats.stats.on_time;
+ hidl_radio_stats.txTimeInMs = legacy_radio_stats.stats.tx_time;
+ hidl_radio_stats.rxTimeInMs = legacy_radio_stats.stats.rx_time;
+ hidl_radio_stats.onTimeInMsForScan = legacy_radio_stats.stats.on_time_scan;
+ hidl_radio_stats.txTimeInMsPerLevel = legacy_radio_stats.tx_time_per_levels;
+ hidl_radios_stats.push_back(hidl_radio_stats);
+ }
+ hidl_stats->radios = hidl_radios_stats;
// Timestamp in the HAL wrapper here since it's not provided in the legacy
// HAL API.
hidl_stats->timeStampInMs = uptimeMillis();