UNPKG

ng-cordova

Version:

[ngCordova](http://ngcordova.com/) ==========

48 lines (40 loc) 1.46 kB
// 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 }]);