diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index dce42a0ad..a2fb1644a 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -16,7 +16,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (self.usePushNotifications) { storageService.getDeviceToken(function(err, token) { $timeout(function() { - if (!token) pushNotificationsService.pushNotificationsInit(profileService.walletClients); + if (!token) pushNotificationsService.pushNotificationsInit(); }, 5000); }); } @@ -1293,6 +1293,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); }); + $rootScope.$on('Local/pushNotificationsRegistration', function(event) { + var config = configService.getSync(); + if (self.usePushNotifications && config.pushNotifications.enabled) + pushNotificationsService.enableNotifications(profileService.walletClients); + }); + self.debouncedUpdate = lodash.throttle(function() { self.updateAll({ quiet: true diff --git a/src/js/services/pushNotificationsService.js b/src/js/services/pushNotificationsService.js index 1126d3135..c1abb7013 100644 --- a/src/js/services/pushNotificationsService.js +++ b/src/js/services/pushNotificationsService.js @@ -5,7 +5,7 @@ angular.module('copayApp.services') var defaults = configService.getDefaults(); var usePushNotifications = isCordova && !isMobile.Windows(); - root.pushNotificationsInit = function(walletClients) { + root.pushNotificationsInit = function() { if (!usePushNotifications) return; var push = PushNotification.init(defaults.pushNotifications.config); @@ -13,7 +13,7 @@ angular.module('copayApp.services') push.on('registration', function(data) { $log.debug('Starting push notification registration'); storageService.setDeviceToken(data.registrationId, function() { - root.enableNotifications(walletsClients); + $rootScope.$emit('Local/pushNotificationsRegistration'); }); });