Battery: major code refactoring

ditto
This commit is contained in:
李通洲
2023-03-07 16:13:53 +08:00
parent 6cb073e6a5
commit 4e3e469ba8
16 changed files with 122 additions and 39 deletions
+2 -2
View File
@@ -7,7 +7,7 @@
#define FF_TERMUX_API_PATH FASTFETCH_TARGET_DIR_ROOT "/libexec/termux-api"
#define FF_TERMUX_API_PARAM "BatteryStatus"
const char* ffDetectBatteryImpl(FF_MAYBE_UNUSED FFinstance* instance, FFlist* results)
const char* ffDetectBatteryImpl(FFinstance* instance, FFlist* results)
{
FF_STRBUF_AUTO_DESTROY buffer;
ffStrbufInit(&buffer);
@@ -35,7 +35,7 @@ const char* ffDetectBatteryImpl(FF_MAYBE_UNUSED FFinstance* instance, FFlist* re
ffStrbufClear(&battery->status);
}
if(instance->config.batteryTemp)
if(instance->config.battery.temp)
{
if(ffParsePropLines(buffer.chars, "\"temperature\": ", &battery->status))
{
+1 -3
View File
@@ -30,8 +30,6 @@ static double detectBatteryTemp()
const char* ffDetectBatteryImpl(FFinstance* instance, FFlist* results)
{
FF_UNUSED(instance);
CFMutableDictionaryRef matchDict = IOServiceMatching("AppleSmartBattery");
if (matchDict == NULL)
return "IOServiceMatching(\"AppleSmartBattery\") failed";
@@ -93,7 +91,7 @@ const char* ffDetectBatteryImpl(FFinstance* instance, FFlist* results)
else
ffStrbufAppendS(&battery->status, "");
if(instance->config.batteryTemp)
if(instance->config.battery.temp)
battery->temperature = detectBatteryTemp();
else
battery->temperature = FF_BATTERY_TEMP_UNSET;
+4 -3
View File
@@ -74,12 +74,13 @@ static void parseBattery(FFstrbuf* dir, FFlist* results)
result->temperature = FF_BATTERY_TEMP_UNSET;
}
const char* ffDetectBatteryImpl(FFinstance* instance, FFlist* results) {
const char* ffDetectBatteryImpl(FFinstance* instance, FFlist* results)
{
FFstrbuf baseDir;
ffStrbufInitA(&baseDir, 64);
if(instance->config.batteryDir.length > 0)
if(instance->config.battery.dir.length > 0)
{
ffStrbufAppend(&baseDir, &instance->config.batteryDir);
ffStrbufAppend(&baseDir, &instance->config.battery.dir);
ffStrbufEnsureEndsWithC(&baseDir, '/');
}
else
+1 -1
View File
@@ -111,7 +111,7 @@ const char* ffDetectBatteryImpl(FFinstance* instance, FFlist* results)
}
battery->temperature = 0.0/0.0;
if(instance->config.batteryTemp)
if(instance->config.battery.temp)
{
bqi.InformationLevel = BatteryTemperature;
ULONG temp;