diff --git a/health/aidl/default/Health.cpp b/health/aidl/default/Health.cpp index 2e1365f6d2..6df623a3f8 100644 --- a/health/aidl/default/Health.cpp +++ b/health/aidl/default/Health.cpp @@ -62,6 +62,18 @@ Health::Health(std::string_view instance_name, std::unique_ptrbatterySerialNumber = std::nullopt; - out->batteryPartStatus = BatteryPartStatus::UNSUPPORTED; + if (auto res = battery_monitor_.getSerialNumber(&out->batterySerialNumber); + res != ::android::OK) { + LOG(WARNING) << "Cannot get Battery_serial_number: " + << TranslateStatus(res).getDescription(); + } + + int64_t part_status = static_cast(BatteryPartStatus::UNSUPPORTED); + if (auto res = GetProperty(&battery_monitor_, ::android::BATTERY_PROP_PART_STATUS, + static_cast(BatteryPartStatus::UNSUPPORTED), + &part_status); + !res.isOk()) { + LOG(WARNING) << "Cannot get Battery_part_status: " << res.getDescription(); + } + out->batteryPartStatus = static_cast(part_status); + return ndk::ScopedAStatus::ok(); }