VulpesOS/assets/webapps/system.gaiamobile.org/js/cpu_manager.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

49 lines
1.2 KiB
JavaScript

'use strict';
/* global CpuWakeLockManager */
(function(exports) {
/**
* CpuManager is a tiny baby that does nothing except set the
* |cpuSleepAllowed| property on mozPower.
* But, it would probably grow up as all Gaia script do.
*/
var CpuManager = function CpuManager() {
this._wakeLockManager = null;
this._started = false;
};
CpuManager.prototype.start = function() {
if (this._started) {
throw new Error(
'CpuManager: should not be start()\'ed twice.');
}
if (!navigator.mozPower) {
return;
}
this._started = true;
this._wakeLockManager = new CpuWakeLockManager();
this._wakeLockManager.onwakelockchange =
this._handleWakeLockChange.bind(this);
this._wakeLockManager.start();
};
CpuManager.prototype.stop = function() {
if (!this._started) {
throw new Error('CpuManager: ' +
'Instance was never start()\'ed but stop() is called.');
}
this._started = false;
this._wakeLockManager.stop();
this._wakeLockManager = null;
};
CpuManager.prototype._handleWakeLockChange = function(isHeld) {
navigator.mozPower.cpuSleepAllowed = !isHeld;
};
exports.CpuManager = CpuManager;
}(window));