ng-cordova
Version:
[ngCordova](http://ngcordova.com/) ==========
48 lines (40 loc) • 1.46 kB
JavaScript
// install : cordova plugin add cordova-plugin-battery-status
// link : https://github.com/apache/cordova-plugin-battery-status
angular.module('ngCordova.plugins.batteryStatus', [])
.factory('$cordovaBatteryStatus', ['$rootScope', '$window', '$timeout', function ($rootScope, $window, $timeout) {
/**
* @param {string} status
*/
var batteryStatus = function (status) {
$timeout(function () {
$rootScope.$broadcast('$cordovaBatteryStatus:status', status);
});
};
/**
* @param {string} status
*/
var batteryCritical = function (status) {
$timeout(function () {
$rootScope.$broadcast('$cordovaBatteryStatus:critical', status);
});
};
/**
* @param {string} status
*/
var batteryLow = function (status) {
$timeout(function () {
$rootScope.$broadcast('$cordovaBatteryStatus:low', status);
});
};
document.addEventListener('deviceready', function () {
if (navigator.battery) {
$window.addEventListener('batterystatus', batteryStatus, false);
$window.addEventListener('batterycritical', batteryCritical, false);
$window.addEventListener('batterylow', batteryLow, false);
}
}, false);
return true;
}])
.run(['$injector', function ($injector) {
$injector.get('$cordovaBatteryStatus'); //ensure the factory and subsequent event listeners get initialised
}]);