Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac3387b7 authored by Yabin Cui's avatar Yabin Cui
Browse files

healthd: init members of BatteryMonitor.

Bug: 26879394
Change-Id: I09a6c78137f91a0c88bf4ba1e8890b4ec31dcf2c
(cherry picked from commit db04a49a)
parent 9dd6510d
Loading
Loading
Loading
Loading
+23 −6
Original line number Diff line number Diff line
@@ -56,6 +56,28 @@ static int mapSysfsString(const char* str,
    return -1;
}

static void initBatteryProperties(BatteryProperties* props) {
    props->chargerAcOnline = false;
    props->chargerUsbOnline = false;
    props->chargerWirelessOnline = false;
    props->maxChargingCurrent = 0;
    props->batteryStatus = BATTERY_STATUS_UNKNOWN;
    props->batteryHealth = BATTERY_HEALTH_UNKNOWN;
    props->batteryPresent = false;
    props->batteryLevel = 0;
    props->batteryVoltage = 0;
    props->batteryTemperature = 0;
    props->batteryCurrent = 0;
    props->batteryCycleCount = 0;
    props->batteryFullCharge = 0;
    props->batteryTechnology.clear();
}

BatteryMonitor::BatteryMonitor() : mHealthdConfig(nullptr), mBatteryDevicePresent(false),
    mAlwaysPluggedDevice(false), mBatteryFixedCapacity(0), mBatteryFixedTemperature(0) {
    initBatteryProperties(&props);
}

int BatteryMonitor::getBatteryStatus(const char* status) {
    int ret;
    struct sysfsStringEnumMap batteryStatusMap[] = {
@@ -184,12 +206,7 @@ int BatteryMonitor::getIntField(const String8& path) {
bool BatteryMonitor::update(void) {
    bool logthis;

    props.chargerAcOnline = false;
    props.chargerUsbOnline = false;
    props.chargerWirelessOnline = false;
    props.batteryStatus = BATTERY_STATUS_UNKNOWN;
    props.batteryHealth = BATTERY_HEALTH_UNKNOWN;
    props.maxChargingCurrent = 0;
    initBatteryProperties(&props);

    if (!mHealthdConfig->batteryPresentPath.isEmpty())
        props.batteryPresent = getBooleanField(mHealthdConfig->batteryPresentPath);
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ class BatteryMonitor {
        ANDROID_POWER_SUPPLY_TYPE_BATTERY
    };

    BatteryMonitor();
    void init(struct healthd_config *hc);
    bool update(void);
    status_t getProperty(int id, struct BatteryProperty *val);