summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Lee <stayfan@google.com>2022-08-18 18:06:34 -0700
committerStephane Lee <stayfan@google.com>2022-08-22 20:48:55 +0000
commit97d79467e79ccd3f069f074f85e042b78da0850b (patch)
treea2a3fae2566893d7875381657304f38fcecd9dd0
parent3e4bceb115b11ffad7e4144e3ed5696fe3cb5948 (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.cpp52
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];
}
}
}