Skip to content
This repository was archived by the owner on Sep 15, 2021. It is now read-only.

Commit 0c6de57

Browse files
committed
fix(plugin:batteryStatus): remove isoluted $rootScope.$new() and replace with DI injection, and check if plugin is installed. If installed, start EventListeners
1 parent a0d2ccc commit 0c6de57

File tree

5 files changed

+51
-45
lines changed

5 files changed

+51
-45
lines changed

demo/www/lib/ngCordova/dist/ng-cordova.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -406,22 +406,24 @@ angular.module('ngCordova.plugins.batteryStatus', [])
406406

407407
.factory('$cordovaBatteryStatus', ['$rootScope', '$window', function ($rootScope, $window) {
408408

409-
var scope = $rootScope.$new();
410-
411-
$window.addEventListener('batterystatus', function (status) {
412-
scope.$broadcast('$cordovaBatteryStatus:status', status);
413-
}, false);
409+
document.addEventListener("deviceready", function () {
410+
if (navigator.battery) {
411+
$window.addEventListener('batterystatus', function (status) {
412+
$rootScope.$broadcast('$cordovaBatteryStatus:status', status);
413+
}, false);
414414

415-
$window.addEventListener('batterycritical', function (status) {
416-
scope.$broadcast('$cordovaBatteryStatus:critical', status);
417-
}, false);
415+
$window.addEventListener('batterycritical', function (status) {
416+
$rootScope.$broadcast('$cordovaBatteryStatus:critical', status);
417+
}, false);
418418

419-
$window.addEventListener('batterylow', function (status) {
420-
scope.$broadcast('$cordovaBatteryStatus:low', status);
419+
$window.addEventListener('batterylow', function (status) {
420+
$rootScope.$broadcast('$cordovaBatteryStatus:low', status);
421+
}, false);
422+
}
421423
}, false);
422-
423-
return scope;
424-
}]);
424+
}])
425+
.run(function ($cordovaBatteryStatus) {
426+
});
425427

426428
// install : cordova plugin add https://github.com/don/cordova-plugin-ble-central#:/plugin
427429
// link : https://github.com/don/cordova-plugin-ble-central

demo/www/lib/ngCordova/dist/ng-cordova.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ng-cordova.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -406,22 +406,24 @@ angular.module('ngCordova.plugins.batteryStatus', [])
406406

407407
.factory('$cordovaBatteryStatus', ['$rootScope', '$window', function ($rootScope, $window) {
408408

409-
var scope = $rootScope.$new();
410-
411-
$window.addEventListener('batterystatus', function (status) {
412-
scope.$broadcast('$cordovaBatteryStatus:status', status);
413-
}, false);
409+
document.addEventListener("deviceready", function () {
410+
if (navigator.battery) {
411+
$window.addEventListener('batterystatus', function (status) {
412+
$rootScope.$broadcast('$cordovaBatteryStatus:status', status);
413+
}, false);
414414

415-
$window.addEventListener('batterycritical', function (status) {
416-
scope.$broadcast('$cordovaBatteryStatus:critical', status);
417-
}, false);
415+
$window.addEventListener('batterycritical', function (status) {
416+
$rootScope.$broadcast('$cordovaBatteryStatus:critical', status);
417+
}, false);
418418

419-
$window.addEventListener('batterylow', function (status) {
420-
scope.$broadcast('$cordovaBatteryStatus:low', status);
419+
$window.addEventListener('batterylow', function (status) {
420+
$rootScope.$broadcast('$cordovaBatteryStatus:low', status);
421+
}, false);
422+
}
421423
}, false);
422-
423-
return scope;
424-
}]);
424+
}])
425+
.run(function ($cordovaBatteryStatus) {
426+
});
425427

426428
// install : cordova plugin add https://github.com/don/cordova-plugin-ble-central#:/plugin
427429
// link : https://github.com/don/cordova-plugin-ble-central

dist/ng-cordova.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/plugins/batteryStatus.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,21 @@ angular.module('ngCordova.plugins.batteryStatus', [])
55

66
.factory('$cordovaBatteryStatus', ['$rootScope', '$window', function ($rootScope, $window) {
77

8-
var scope = $rootScope.$new();
8+
document.addEventListener("deviceready", function () {
9+
if (navigator.battery) {
10+
$window.addEventListener('batterystatus', function (status) {
11+
$rootScope.$broadcast('$cordovaBatteryStatus:status', status);
12+
}, false);
913

10-
$window.addEventListener('batterystatus', function (status) {
11-
scope.$broadcast('$cordovaBatteryStatus:status', status);
12-
}, false);
13-
14-
$window.addEventListener('batterycritical', function (status) {
15-
scope.$broadcast('$cordovaBatteryStatus:critical', status);
16-
}, false);
14+
$window.addEventListener('batterycritical', function (status) {
15+
$rootScope.$broadcast('$cordovaBatteryStatus:critical', status);
16+
}, false);
1717

18-
$window.addEventListener('batterylow', function (status) {
19-
scope.$broadcast('$cordovaBatteryStatus:low', status);
18+
$window.addEventListener('batterylow', function (status) {
19+
$rootScope.$broadcast('$cordovaBatteryStatus:low', status);
20+
}, false);
21+
}
2022
}, false);
21-
22-
return scope;
23-
}]);
23+
}])
24+
.run(function ($cordovaBatteryStatus) {
25+
});

0 commit comments

Comments
 (0)