From 4ce85be93b0d6dad14e107b4ae15265bbaee1231 Mon Sep 17 00:00:00 2001 From: FantasyGmm <16450052+FantasyGmm@users.noreply.github.com> Date: Tue, 5 Mar 2024 14:16:53 +0800 Subject: [PATCH] Add qcom-battmgr support --- src/battery.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/battery.cpp b/src/battery.cpp index e5d311b2..dfa09ec1 100644 --- a/src/battery.cpp +++ b/src/battery.cpp @@ -13,7 +13,7 @@ void BatteryStats::numBattery() { fs::path path("/sys/class/power_supply/"); for (auto& p : fs::directory_iterator(path)) { string fileName = p.path().filename(); - if (fileName.find("BAT") != std::string::npos) { + if (fileName.find("BAT") != std::string::npos || fileName.find("qcom-battmgr-bat") != std::string::npos) { battPath[batteryCount] = p.path(); batteryCount += 1; } @@ -141,6 +141,7 @@ float BatteryStats::getTimeRemaining(){ string energy_now = syspath + "/energy_now"; string voltage_now = syspath + "/voltage_now"; string power_now = syspath + "/power_now"; + string time_to_empty_avg = syspath + "/time_to_empty_avg"; if (fs::exists(current_now)) { std::ifstream input(current_now); @@ -185,6 +186,14 @@ float BatteryStats::getTimeRemaining(){ } if (current_now_vec.size() > 25) current_now_vec.erase(current_now_vec.begin()); + if (fs::exists(time_to_empty_avg)) { + std::ifstream input(time_to_empty_avg); + std::string line; + if(std::getline(input, line)) { + return std::stof(line) / 3600; + } + } + } for(auto& current_now : current_now_vec){