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

Commit f73de6f0 authored by Thierry Strudel's avatar Thierry Strudel
Browse files

healthd.h: add ignorePowerSupplyNames to healthd_config



In case some power supply paths should not be considered, add a black list
to the healthd_config to instruct BatteryMonitor of the power supply paths
to ignore on init.

Bug: 117903348
Change-Id: I6f9ddeff9351ad01772b43728ddc2627da81df2a
Signed-off-by: default avatarThierry Strudel <tstrudel@google.com>
parent 1c4ad71d
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,8 @@
#include <stdlib.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <unistd.h>
#include <unistd.h>

#include <algorithm>
#include <memory>
#include <memory>


#include <android-base/file.h>
#include <android-base/file.h>
@@ -476,10 +478,16 @@ void BatteryMonitor::init(struct healthd_config *hc) {


        while ((entry = readdir(dir.get()))) {
        while ((entry = readdir(dir.get()))) {
            const char* name = entry->d_name;
            const char* name = entry->d_name;
            std::vector<String8>::iterator itIgnoreName;


            if (!strcmp(name, ".") || !strcmp(name, ".."))
            if (!strcmp(name, ".") || !strcmp(name, ".."))
                continue;
                continue;


            itIgnoreName = find(hc->ignorePowerSupplyNames.begin(),
                                hc->ignorePowerSupplyNames.end(), String8(name));
            if (itIgnoreName != hc->ignorePowerSupplyNames.end())
                continue;

            // Look for "type" file in each subdirectory
            // Look for "type" file in each subdirectory
            path.clear();
            path.clear();
            path.appendFormat("%s/%s/type", POWER_SUPPLY_SYSFS_PATH, name);
            path.appendFormat("%s/%s/type", POWER_SUPPLY_SYSFS_PATH, name);
+3 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,8 @@
#include <utils/Errors.h>
#include <utils/Errors.h>
#include <utils/String8.h>
#include <utils/String8.h>


#include <vector>

// periodic_chores_interval_fast, periodic_chores_interval_slow: intervals at
// periodic_chores_interval_fast, periodic_chores_interval_slow: intervals at
// which healthd wakes up to poll health state and perform periodic chores,
// which healthd wakes up to poll health state and perform periodic chores,
// in units of seconds:
// in units of seconds:
@@ -71,6 +73,7 @@ struct healthd_config {
    int (*energyCounter)(int64_t *);
    int (*energyCounter)(int64_t *);
    int boot_min_cap;
    int boot_min_cap;
    bool (*screen_on)(android::BatteryProperties *props);
    bool (*screen_on)(android::BatteryProperties *props);
    std::vector<android::String8> ignorePowerSupplyNames;
};
};


enum EventWakeup {
enum EventWakeup {