From 095c944b48d7a3770d591e37b6422ee12bb86148 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Wed, 2 Mar 2022 17:36:34 +0000 Subject: [PATCH] healthd: Convert multiple private methods into static nonmember functions The private methods in class BatteryMonitor do not use the 'this' pointer. Hence convert these into static nonmember functions. Test: Compile-tested only. Change-Id: I4b9b76c9697f1db894ba9fb939ce096ee6b7ff3b Signed-off-by: Bart Van Assche --- healthd/BatteryMonitor.cpp | 70 ++++++++++++------------ healthd/include/healthd/BatteryMonitor.h | 9 --- 2 files changed, 35 insertions(+), 44 deletions(-) diff --git a/healthd/BatteryMonitor.cpp b/healthd/BatteryMonitor.cpp index 0566a67aa..a7571a260 100644 --- a/healthd/BatteryMonitor.cpp +++ b/healthd/BatteryMonitor.cpp @@ -227,7 +227,7 @@ BatteryHealth getBatteryHealth(const char* status) { return *ret; } -int BatteryMonitor::readFromFile(const String8& path, std::string* buf) { +static int readFromFile(const String8& path, std::string* buf) { buf->clear(); if (android::base::ReadFileToString(path.c_str(), buf)) { *buf = android::base::Trim(*buf); @@ -235,39 +235,40 @@ int BatteryMonitor::readFromFile(const String8& path, std::string* buf) { return buf->length(); } -BatteryMonitor::PowerSupplyType BatteryMonitor::readPowerSupplyType(const String8& path) { +static BatteryMonitor::PowerSupplyType readPowerSupplyType(const String8& path) { static SysfsStringEnumMap supplyTypeMap[] = { - {"Unknown", ANDROID_POWER_SUPPLY_TYPE_UNKNOWN}, - {"Battery", ANDROID_POWER_SUPPLY_TYPE_BATTERY}, - {"UPS", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"Mains", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"USB", ANDROID_POWER_SUPPLY_TYPE_USB}, - {"USB_DCP", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"USB_HVDCP", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"USB_CDP", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"USB_ACA", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"USB_C", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"USB_PD", ANDROID_POWER_SUPPLY_TYPE_AC}, - {"USB_PD_DRP", ANDROID_POWER_SUPPLY_TYPE_USB}, - {"Wireless", ANDROID_POWER_SUPPLY_TYPE_WIRELESS}, - {"Dock", ANDROID_POWER_SUPPLY_TYPE_DOCK}, + {"Unknown", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_UNKNOWN}, + {"Battery", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_BATTERY}, + {"UPS", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"Mains", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"USB", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_USB}, + {"USB_DCP", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"USB_HVDCP", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"USB_CDP", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"USB_ACA", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"USB_C", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"USB_PD", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_AC}, + {"USB_PD_DRP", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_USB}, + {"Wireless", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_WIRELESS}, + {"Dock", BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_DOCK}, {NULL, 0}, }; std::string buf; - if (readFromFile(path, &buf) <= 0) - return ANDROID_POWER_SUPPLY_TYPE_UNKNOWN; + if (readFromFile(path, &buf) <= 0) { + return BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_UNKNOWN; + } auto ret = mapSysfsString(buf.c_str(), supplyTypeMap); if (!ret) { KLOG_WARNING(LOG_TAG, "Unknown power supply type '%s'\n", buf.c_str()); - *ret = ANDROID_POWER_SUPPLY_TYPE_UNKNOWN; + *ret = BatteryMonitor::ANDROID_POWER_SUPPLY_TYPE_UNKNOWN; } return static_cast(*ret); } -bool BatteryMonitor::getBooleanField(const String8& path) { +static bool getBooleanField(const String8& path) { std::string buf; bool value = false; @@ -278,7 +279,7 @@ bool BatteryMonitor::getBooleanField(const String8& path) { return value; } -int BatteryMonitor::getIntField(const String8& path) { +static int getIntField(const String8& path) { std::string buf; int value = 0; @@ -288,7 +289,7 @@ int BatteryMonitor::getIntField(const String8& path) { return value; } -bool BatteryMonitor::isScopedPowerSupply(const char* name) { +static bool isScopedPowerSupply(const char* name) { constexpr char kScopeDevice[] = "Device"; String8 path; @@ -411,19 +412,7 @@ void BatteryMonitor::updateValues(void) { } } -void BatteryMonitor::logValues(void) { - logValues(*mHealthInfo, *mHealthdConfig); -} - -void BatteryMonitor::logValues(const HealthInfo_2_1& health_info, - const struct healthd_config& healthd_config) { - HealthInfo aidl_health_info; - (void)android::h2a::translate(health_info, &aidl_health_info); - logValues(aidl_health_info, healthd_config); -} - -void BatteryMonitor::logValues(const HealthInfo& props, - const struct healthd_config& healthd_config) { +static void doLogValues(const HealthInfo& props, const struct healthd_config& healthd_config) { char dmesgline[256]; size_t len; if (props.batteryPresent) { @@ -460,6 +449,17 @@ void BatteryMonitor::logValues(const HealthInfo& props, KLOG_WARNING(LOG_TAG, "%s\n", dmesgline); } +void BatteryMonitor::logValues(const HealthInfo_2_1& health_info, + const struct healthd_config& healthd_config) { + HealthInfo aidl_health_info; + (void)android::h2a::translate(health_info, &aidl_health_info); + doLogValues(aidl_health_info, healthd_config); +} + +void BatteryMonitor::logValues(void) { + doLogValues(*mHealthInfo, *mHealthdConfig); +} + bool BatteryMonitor::isChargerOnline() { const HealthInfo& props = *mHealthInfo; return props.chargerAcOnline | props.chargerUsbOnline | props.chargerWirelessOnline | diff --git a/healthd/include/healthd/BatteryMonitor.h b/healthd/include/healthd/BatteryMonitor.h index 2a7e35329..8cbf5ead6 100644 --- a/healthd/include/healthd/BatteryMonitor.h +++ b/healthd/include/healthd/BatteryMonitor.h @@ -82,15 +82,6 @@ class BatteryMonitor { int mBatteryFixedCapacity; int mBatteryFixedTemperature; std::unique_ptr mHealthInfo; - - int readFromFile(const String8& path, std::string* buf); - PowerSupplyType readPowerSupplyType(const String8& path); - bool getBooleanField(const String8& path); - int getIntField(const String8& path); - bool isScopedPowerSupply(const char* name); - - static void logValues(const aidl::android::hardware::health::HealthInfo& health_info, - const struct healthd_config& healthd_config); }; }; // namespace android