health 2.1 impl: log values properly.

getHealthInfo_2_1 calls UpdateHealthInfo, where a subclass may
update health_info without updating the data in BatteryMonitor.
Hence, calling battery_monitor_.logValues() isn't accurate.

Log values properly by logging the updated health_info struct.

Test: healthd kernel logs have correct data
Fixes: 179326883
Change-Id: Ifab863746793abf3e3f1d5a458f05f4d9889bdfc
This commit is contained in:
Yifan Hong
2021-02-08 15:16:58 -08:00
parent 2af4c0663c
commit 633661ca8b

View File

@@ -80,14 +80,14 @@ Return<Result> Health::unregisterCallback(const sp<V2_0::IHealthInfoCallback>&)
Return<Result> Health::update() {
Result result = Result::UNKNOWN;
getHealthInfo_2_1([&](auto res, const auto& /* health_info */) {
getHealthInfo_2_1([&](auto res, const auto& health_info) {
result = res;
if (res != Result::SUCCESS) {
LOG(ERROR) << "Cannot call getHealthInfo_2_1: " << toString(res);
return;
}
battery_monitor_.logValues();
BatteryMonitor::logValues(health_info, *healthd_config_);
});
return result;
}