More precise handling of ACLineStatus values (IDEA-CR-32704)

This commit is contained in:
Dmitry Jemerov
2018-05-29 19:19:22 +02:00
parent db9e2523fc
commit 110b8f5d4b
@@ -30,7 +30,11 @@ private fun getWindowsPowerStatus(): PowerStatus {
if (!JnaLoader.isLoaded()) return PowerStatus.UNKNOWN
val systemPowerStatus = SYSTEM_POWER_STATUS()
if (!kernel32.GetSystemPowerStatus(systemPowerStatus)) return PowerStatus.UNKNOWN
return if (systemPowerStatus.ACLineStatus.toInt() == 1) PowerStatus.AC_POWER else PowerStatus.BATTERY
return when(systemPowerStatus.ACLineStatus.toInt()) {
1 -> PowerStatus.AC_POWER
0 -> PowerStatus.BATTERY
else -> PowerStatus.UNKNOWN
}
}
class SYSTEM_POWER_STATUS : Structure() {