healthd: partially fill in health 2.1 HAL fields

- batteryCurrentAverage
- batteryCapacityLevel
- batteryChargeTimeToFullNowSeconds
- batteryFullCapacityUah

Some of the fields are left 0 / UNKNOWN and will be
implemented in b/142260281.

Bug: 142260281

Test: lshal debug health 2.1 HAL shows these values
Change-Id: I8e462d612b39c16cfb3ae1b63b3e293153585c28
This commit is contained in:
Yifan Hong 2019-10-07 13:58:29 -07:00
parent 1d4368b494
commit 35cb0838f6

View file

@ -54,6 +54,7 @@ using HealthInfo_2_0 = android::hardware::health::V2_0::HealthInfo;
using HealthInfo_2_1 = android::hardware::health::V2_1::HealthInfo;
using android::hardware::health::V1_0::BatteryHealth;
using android::hardware::health::V1_0::BatteryStatus;
using android::hardware::health::V2_1::BatteryCapacityLevel;
namespace android {
@ -223,6 +224,15 @@ void BatteryMonitor::updateValues(void) {
if (!mHealthdConfig->batteryChargeCounterPath.isEmpty())
props.batteryChargeCounter = getIntField(mHealthdConfig->batteryChargeCounterPath);
if (!mHealthdConfig->batteryCurrentAvgPath.isEmpty())
mHealthInfo->legacy.batteryCurrentAverage =
getIntField(mHealthdConfig->batteryCurrentAvgPath);
// TODO(b/142260281): Retrieve these values correctly.
mHealthInfo->batteryCapacityLevel = BatteryCapacityLevel::UNKNOWN;
mHealthInfo->batteryChargeTimeToFullNowSeconds = 0;
mHealthInfo->batteryFullCapacityUah = props.batteryFullCharge;
props.batteryTemperature = mBatteryFixedTemperature ?
mBatteryFixedTemperature :
getIntField(mHealthdConfig->batteryTemperaturePath);