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

Commit 6411d160 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "healthd: Don't take device-scoped battery as the main system battery."...

Merge "healthd: Don't take device-scoped battery as the main system battery." into rvc-dev am: 57db9db4

Change-Id: I5cba34b0ea9d52414e6078ccf3246ee3625a9a23
parents 2cad46ba 57db9db4
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -233,6 +233,15 @@ int BatteryMonitor::getIntField(const String8& path) {
    return value;
}

bool BatteryMonitor::isScopedPowerSupply(const char* name) {
    constexpr char kScopeDevice[] = "Device";

    String8 path;
    path.appendFormat("%s/%s/scope", POWER_SUPPLY_SYSFS_PATH, name);
    std::string scope;
    return (readFromFile(path, &scope) > 0 && scope == kScopeDevice);
}

void BatteryMonitor::updateValues(void) {
    initHealthInfo(mHealthInfo.get());

@@ -547,6 +556,11 @@ void BatteryMonitor::init(struct healthd_config *hc) {
                break;

            case ANDROID_POWER_SUPPLY_TYPE_BATTERY:
                // Some devices expose the battery status of sub-component like
                // stylus. Such a device-scoped battery info needs to be skipped
                // in BatteryMonitor, which is intended to report the status of
                // the battery supplying the power to the whole system.
                if (isScopedPowerSupply(name)) continue;
                mBatteryDevicePresent = true;

                if (mHealthdConfig->batteryStatusPath.isEmpty()) {
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ class BatteryMonitor {
    PowerSupplyType readPowerSupplyType(const String8& path);
    bool getBooleanField(const String8& path);
    int getIntField(const String8& path);
    bool isScopedPowerSupply(const char* name);
};

}; // namespace android