mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-03 12:47:50 +02:00
29 lines
893 B
JavaScript
29 lines
893 B
JavaScript
function batteryPercentage(device) {
|
|
if (!device || !device.isPresent) return -1
|
|
return Math.round(Number(device.percentage || 0) * 100)
|
|
}
|
|
|
|
function isDischarging(device, onBattery, dischargingState) {
|
|
return !!(device && device.isPresent && onBattery && device.state === dischargingState)
|
|
}
|
|
|
|
function shouldWarnLowBattery(device, onBattery, dischargingState, threshold, alreadyNotified) {
|
|
var level = batteryPercentage(device)
|
|
if (level < 0) return { level: level, notify: false, notifiedLowBattery: false }
|
|
|
|
var low = isDischarging(device, onBattery, dischargingState) && level <= threshold
|
|
return {
|
|
level: level,
|
|
notify: low && !alreadyNotified,
|
|
notifiedLowBattery: low
|
|
}
|
|
}
|
|
|
|
if (typeof module !== "undefined") {
|
|
module.exports = {
|
|
batteryPercentage: batteryPercentage,
|
|
isDischarging: isDischarging,
|
|
shouldWarnLowBattery: shouldWarnLowBattery
|
|
}
|
|
}
|