diff options
author | Stephane Lee <stayfan@google.com> | 2022-08-18 18:06:34 -0700 |
---|---|---|
committer | Stephane Lee <stayfan@google.com> | 2022-08-22 20:48:55 +0000 |
commit | 97d79467e79ccd3f069f074f85e042b78da0850b (patch) | |
tree | a2a3fae2566893d7875381657304f38fcecd9dd0 | |
parent | 3e4bceb115b11ffad7e4144e3ed5696fe3cb5948 (diff) |
Fix charge capacity being not reported
The value was added at the end of the array. If there are no wireless
stats, we will not be reporting the value.
Test: Ensure that charge capacity is reported via statsd
Bug: 243077852
Change-Id: I9e304f2dc230c840dd8b679b779045b64c455cc2
-rw-r--r-- | pixelstats/ChargeStatsReporter.cpp | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/pixelstats/ChargeStatsReporter.cpp b/pixelstats/ChargeStatsReporter.cpp index 9892668..6bc2b64 100644 --- a/pixelstats/ChargeStatsReporter.cpp +++ b/pixelstats/ChargeStatsReporter.cpp @@ -45,21 +45,23 @@ void ChargeStatsReporter::ReportChargeStats(const std::shared_ptr<IStats> &stats const std::string line, const std::string wline_at, const std::string wline_ac, const std::string pca_line) { - int charge_stats_fields[] = {ChargeStats::kAdapterTypeFieldNumber, - ChargeStats::kAdapterVoltageFieldNumber, - ChargeStats::kAdapterAmperageFieldNumber, - ChargeStats::kSsocInFieldNumber, - ChargeStats::kVoltageInFieldNumber, - ChargeStats::kSsocOutFieldNumber, - ChargeStats::kVoltageOutFieldNumber, - ChargeStats::kAdapterCapabilities0FieldNumber, - ChargeStats::kAdapterCapabilities1FieldNumber, - ChargeStats::kAdapterCapabilities2FieldNumber, - ChargeStats::kAdapterCapabilities3FieldNumber, - ChargeStats::kAdapterCapabilities4FieldNumber, - ChargeStats::kReceiverState0FieldNumber, - ChargeStats::kReceiverState1FieldNumber, - ChargeStats::kChargeCapacityFieldNumber}; + int charge_stats_fields[] = { + ChargeStats::kAdapterTypeFieldNumber, + ChargeStats::kAdapterVoltageFieldNumber, + ChargeStats::kAdapterAmperageFieldNumber, + ChargeStats::kSsocInFieldNumber, + ChargeStats::kVoltageInFieldNumber, + ChargeStats::kSsocOutFieldNumber, + ChargeStats::kVoltageOutFieldNumber, + ChargeStats::kChargeCapacityFieldNumber, + ChargeStats::kAdapterCapabilities0FieldNumber, + ChargeStats::kAdapterCapabilities1FieldNumber, + ChargeStats::kAdapterCapabilities2FieldNumber, + ChargeStats::kAdapterCapabilities3FieldNumber, + ChargeStats::kAdapterCapabilities4FieldNumber, + ChargeStats::kReceiverState0FieldNumber, + ChargeStats::kReceiverState1FieldNumber, + }; const int32_t chg_fields_size = std::size(charge_stats_fields); static_assert(chg_fields_size == 15, "Unexpected charge stats fields size"); const int32_t wlc_fields_size = 7; @@ -70,7 +72,7 @@ void ChargeStatsReporter::ReportChargeStats(const std::shared_ptr<IStats> &stats ALOGD("processing %s", line.c_str()); if (sscanf(line.c_str(), "%d,%d,%d, %d,%d,%d,%d %d", &tmp[0], &tmp[1], &tmp[2], &tmp[3], - &tmp[4], &tmp[5], &tmp[6], &tmp[14]) == 8) { + &tmp[4], &tmp[5], &tmp[6], &tmp[7]) == 8) { /* Age Adjusted Charge Rate (AACR) logs an additional battery capacity in order to determine * the charge curve needed to minimize battery cycle life degradation, while also minimizing * impact to the user. @@ -89,8 +91,8 @@ void ChargeStatsReporter::ReportChargeStats(const std::shared_ptr<IStats> &stats } else { tmp[0] = wireless_charge_stats_.TranslateSysModeToAtomValue(ssoc_tmp); ALOGD("wlc: processing %s", wline_ac.c_str()); - if (sscanf(wline_ac.c_str(), "D:%x,%x,%x,%x,%x, %x,%x", &tmp[7], &tmp[8], &tmp[9], - &tmp[10], &tmp[11], &tmp[12], &tmp[13]) != 7) + if (sscanf(wline_ac.c_str(), "D:%x,%x,%x,%x,%x, %x,%x", &tmp[8], &tmp[9], &tmp[10], + &tmp[11], &tmp[12], &tmp[13], &tmp[14]) != 7) ALOGE("Couldn't process %s", wline_ac.c_str()); else fields_size = chg_fields_size; /* include wlc stats */ @@ -104,14 +106,14 @@ void ChargeStatsReporter::ReportChargeStats(const std::shared_ptr<IStats> &stats ALOGE("Couldn't process %s", pca_line.c_str()); } else { fields_size = chg_fields_size; /* include pca stats */ - tmp[9] = pca_rs[2]; - tmp[10] = pca_rs[3]; - tmp[11] = pca_rs[4]; - tmp[13] = pca_rs[1]; + tmp[10] = pca_rs[2]; + tmp[11] = pca_rs[3]; + tmp[12] = pca_rs[4]; + tmp[14] = pca_rs[1]; if (wline_at.empty()) { - tmp[7] = pca_ac[0]; - tmp[8] = pca_ac[1]; - tmp[12] = pca_rs[0]; + tmp[8] = pca_ac[0]; + tmp[9] = pca_ac[1]; + tmp[13] = pca_rs[0]; } } } |