feat: add powerMonitor.onBatteryPower (#26494)
This commit is contained in:
parent
8594b55dee
commit
a9924e1c32
4 changed files with 38 additions and 2 deletions
|
@ -65,3 +65,18 @@ before considered idle. `locked` is available on supported systems only.
|
||||||
Returns `Integer` - Idle time in seconds
|
Returns `Integer` - Idle time in seconds
|
||||||
|
|
||||||
Calculate system idle time in seconds.
|
Calculate system idle time in seconds.
|
||||||
|
|
||||||
|
### `powerMonitor.isOnBatteryPower()`
|
||||||
|
|
||||||
|
Returns `Boolean` - Whether the system is on battery power.
|
||||||
|
|
||||||
|
To monitor for changes in this property, use the `on-battery` and `on-ac`
|
||||||
|
events.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
### `powerMonitor.onBatteryPower`
|
||||||
|
|
||||||
|
A `Boolean` property. True if the system is on battery power.
|
||||||
|
|
||||||
|
See [`powerMonitor.isOnBatteryPower()`](#powermonitorisonbatterypower).
|
||||||
|
|
|
@ -4,7 +4,8 @@ import { app } from 'electron/main';
|
||||||
const {
|
const {
|
||||||
createPowerMonitor,
|
createPowerMonitor,
|
||||||
getSystemIdleState,
|
getSystemIdleState,
|
||||||
getSystemIdleTime
|
getSystemIdleTime,
|
||||||
|
isOnBatteryPower
|
||||||
} = process._linkedBinding('electron_browser_power_monitor');
|
} = process._linkedBinding('electron_browser_power_monitor');
|
||||||
|
|
||||||
class PowerMonitor extends EventEmitter {
|
class PowerMonitor extends EventEmitter {
|
||||||
|
@ -45,6 +46,14 @@ class PowerMonitor extends EventEmitter {
|
||||||
getSystemIdleTime () {
|
getSystemIdleTime () {
|
||||||
return getSystemIdleTime();
|
return getSystemIdleTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isOnBatteryPower () {
|
||||||
|
return isOnBatteryPower();
|
||||||
|
}
|
||||||
|
|
||||||
|
get onBatteryPower () {
|
||||||
|
return this.isOnBatteryPower();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = new PowerMonitor();
|
module.exports = new PowerMonitor();
|
||||||
|
|
|
@ -136,6 +136,10 @@ int GetSystemIdleTime() {
|
||||||
return ui::CalculateIdleTime();
|
return ui::CalculateIdleTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IsOnBatteryPower() {
|
||||||
|
return base::PowerMonitor::IsOnBatteryPower();
|
||||||
|
}
|
||||||
|
|
||||||
void Initialize(v8::Local<v8::Object> exports,
|
void Initialize(v8::Local<v8::Object> exports,
|
||||||
v8::Local<v8::Value> unused,
|
v8::Local<v8::Value> unused,
|
||||||
v8::Local<v8::Context> context,
|
v8::Local<v8::Context> context,
|
||||||
|
@ -147,6 +151,7 @@ void Initialize(v8::Local<v8::Object> exports,
|
||||||
dict.SetMethod("getSystemIdleState",
|
dict.SetMethod("getSystemIdleState",
|
||||||
base::BindRepeating(&GetSystemIdleState));
|
base::BindRepeating(&GetSystemIdleState));
|
||||||
dict.SetMethod("getSystemIdleTime", base::BindRepeating(&GetSystemIdleTime));
|
dict.SetMethod("getSystemIdleTime", base::BindRepeating(&GetSystemIdleTime));
|
||||||
|
dict.SetMethod("isOnBatteryPower", base::BindRepeating(&IsOnBatteryPower));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
|
@ -167,10 +167,17 @@ describe('powerMonitor', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('powerMonitor.getSystemIdleTime', () => {
|
describe('powerMonitor.getSystemIdleTime', () => {
|
||||||
it('notify current system idle time', () => {
|
it('returns current system idle time', () => {
|
||||||
const idleTime = powerMonitor.getSystemIdleTime();
|
const idleTime = powerMonitor.getSystemIdleTime();
|
||||||
expect(idleTime).to.be.at.least(0);
|
expect(idleTime).to.be.at.least(0);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('powerMonitor.onBatteryPower', () => {
|
||||||
|
it('returns a boolean', () => {
|
||||||
|
expect(powerMonitor.onBatteryPower).to.be.a('boolean');
|
||||||
|
expect(powerMonitor.isOnBatteryPower()).to.be.a('boolean');
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue