Battery (macOS): report time remaining only when discharging

This commit is contained in:
李通洲
2024-10-14 15:58:31 +08:00
parent e70589483d
commit c73b5914ab
+7 -5
View File
@@ -43,11 +43,6 @@ const char* ffDetectBattery(FFBatteryOptions* options, FFlist* results)
ffCfDictGetString(properties, CFSTR(kIOPMDeviceNameKey), &battery->modelName);
ffCfDictGetString(properties, CFSTR(kIOPMPSSerialKey), &battery->serial);
ffCfDictGetString(properties, CFSTR(kIOPMPSManufacturerKey), &battery->manufacturer);
ffCfDictGetInt(properties, CFSTR(kIOPMPSTimeRemainingKey), &battery->timeRemaining); // in minutes
if (battery->timeRemaining == 0xFFFF)
battery->timeRemaining = -1;
else
battery->timeRemaining *= 60;
if (!ffCfDictGetBool(properties, CFSTR("built-in"), &boolValue) && boolValue)
{
@@ -65,7 +60,14 @@ const char* ffDetectBattery(FFBatteryOptions* options, FFlist* results)
if (!ffCfDictGetBool(properties, CFSTR(kIOPMPSExternalConnectedKey), &boolValue) && boolValue)
ffStrbufAppendS(&battery->status, "AC connected, ");
else
{
ffStrbufAppendS(&battery->status, "Discharging, ");
ffCfDictGetInt(properties, CFSTR(kIOPMPSTimeRemainingKey), &battery->timeRemaining); // in minutes
if (battery->timeRemaining == 0xFFFF)
battery->timeRemaining = -1;
else
battery->timeRemaining *= 60;
}
if (!ffCfDictGetBool(properties, CFSTR(kIOPMPSIsChargingKey), &boolValue) && boolValue)
ffStrbufAppendS(&battery->status, "Charging, ");
if (!ffCfDictGetBool(properties, CFSTR(kIOPMPSAtCriticalLevelKey), &boolValue) && boolValue)