From a2f2451ad9549243677eec762d30b486b8402a2a Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 26 Jun 2015 11:09:35 -0300 Subject: [PATCH 1/4] Disabling unnecessary online/offline events for mobile/desktop --- src/js/init.js | 6 ------ src/js/services/profileService.js | 24 +++++++++++++----------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/js/init.js b/src/js/init.js index a0070e3f7..b8b84f84e 100644 --- a/src/js/init.js +++ b/src/js/init.js @@ -26,12 +26,6 @@ angular.element(document).ready(function() { }, 100); }, false); - // We are not emitting here, since when the BWS socket reconnects, - // update will be triggered - document.addEventListener('offline', function() { - window.location = '#/cordova/offline'; - }, false); - // Back button event document.addEventListener('backbutton', function() { var loc = window.location; diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index d237bf47a..2ebf60e7a 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -1,6 +1,6 @@ 'use strict'; angular.module('copayApp.services') - .factory('profileService', function profileServiceFactory($rootScope, $location, $timeout, $filter, $log, lodash, storageService, bwcService, configService, notificationService, isChromeApp, isCordova, gettext) { + .factory('profileService', function profileServiceFactory($rootScope, $location, $timeout, $filter, $log, lodash, storageService, bwcService, configService, notificationService, isChromeApp, isCordova, gettext, nodeWebkit) { var root = {}; @@ -62,18 +62,20 @@ angular.module('copayApp.services') client.removeAllListeners(); - client.on('reconnect', function() { - if (root.focusedClient.credentials.walletId == client.credentials.walletId) { - $rootScope.$emit('Local/Online'); - } - }); + if (!nodeWebkit.isDefined() && !isCordova) { + client.on('reconnect', function() { + if (root.focusedClient.credentials.walletId == client.credentials.walletId) { + $rootScope.$emit('Local/Online'); + } + }); - client.on('reconnecting', function() { - if (root.focusedClient.credentials.walletId == client.credentials.walletId) { - $rootScope.$emit('Local/Offline'); - } - }); + client.on('reconnecting', function() { + if (root.focusedClient.credentials.walletId == client.credentials.walletId) { + $rootScope.$emit('Local/Offline'); + } + }); + } client.on('notification', function(n) { $log.debug('BWC Notification:', n); From d02c1a7f118be0cdf455ccf48d05bb90e9d120a0 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 26 Jun 2015 11:55:41 -0300 Subject: [PATCH 2/4] Removes online/offline events --- src/js/controllers/index.js | 20 -------------------- src/js/controllers/walletHome.js | 14 -------------- src/js/routes.js | 3 --- src/js/services/profileService.js | 22 ++++++++++------------ 4 files changed, 10 insertions(+), 49 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index f6ec8aea5..a9605c1ba 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -665,26 +665,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.debouncedUpdate(); }); - $rootScope.$on('Local/Online', function(event) { - $log.debug('### Online event'); - if (self.isOffline) self.debouncedUpdate(); - self.isOffline = false; - self.offLineSince = null; - }); - - self.offLineSince = null;; - $rootScope.$on('Local/Offline', function(event) { - $log.debug('### Offline event'); - if (!self.offLineSince) self.offLineSince = Date.now(); - - if (Date.now() - self.offLineSince > 30000) { - self.isOffline = true; - $timeout(function() { - $rootScope.$apply(); - }); - } - }); - $rootScope.$on('Local/BackupDone', function(event) { self.needsBackup = false; storageService.setBackupFlag(self.walletId, function(err) { diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 635217a3d..0b25c47b4 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -46,18 +46,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.resetForm(); }); - var disableOnlineListener = $rootScope.$on('Local/Online', function() { - // This is needed then the apps go to sleep - self.bindTouchDown(); - }); - - var disableResumeListener = $rootScope.$on('Local/Resume', function() { - // This is needed then the apps go to sleep - self.bindTouchDown(); - }); - - - var disableTabListener = $rootScope.$on('Local/TabChanged', function(e, tab) { // This will slow down switch, do not add things here! switch (tab) { @@ -76,8 +64,6 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi disablePaymentUriListener(); disableTabListener(); disableFocusListener(); - disableResumeListener(); - disableOnlineListener(); $rootScope.hideMenuBar = false; }); diff --git a/src/js/routes.js b/src/js/routes.js index 14b74f7f2..90c5815d6 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -402,9 +402,6 @@ angular case 'resume': $rootScope.$emit('Local/Resume'); break; - case 'offline': - $rootScope.$emit('Local/Offline'); - break; }; $timeout(function() { $rootScope.$emit('Local/SetTab', 'walletHome', true); diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 2ebf60e7a..5534c5555 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -62,20 +62,18 @@ angular.module('copayApp.services') client.removeAllListeners(); - if (!nodeWebkit.isDefined() && !isCordova) { - client.on('reconnect', function() { - if (root.focusedClient.credentials.walletId == client.credentials.walletId) { - $rootScope.$emit('Local/Online'); - } - }); + client.on('reconnect', function() { + if (root.focusedClient.credentials.walletId == client.credentials.walletId) { + $log.debug('### Online'); + } + }); - client.on('reconnecting', function() { - if (root.focusedClient.credentials.walletId == client.credentials.walletId) { - $rootScope.$emit('Local/Offline'); - } - }); - } + client.on('reconnecting', function() { + if (root.focusedClient.credentials.walletId == client.credentials.walletId) { + $log.debug('### Offline'); + } + }); client.on('notification', function(n) { $log.debug('BWC Notification:', n); From 678e3c8ac22806027be9c94e85c96354a971a150 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 26 Jun 2015 11:56:32 -0300 Subject: [PATCH 3/4] Tap to reconnect action should also to update history --- public/views/walletHome.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 5e298ed0f..5c402f4d1 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -74,7 +74,7 @@
-
+
Could not update Wallet
Tap to retry
@@ -84,7 +84,7 @@
Tap to retry
-
+
{{index.totalBalanceStr}}
From e2a334238d7a40cda9e99720304419d98b21bcca Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Sat, 27 Jun 2015 21:24:31 -0300 Subject: [PATCH 4/4] Resume event is still needed --- src/js/controllers/walletHome.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 0b25c47b4..2cdfccc38 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -46,6 +46,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.resetForm(); }); + var disableResumeListener = $rootScope.$on('Local/Resume', function() { + // This is needed then the apps go to sleep + self.bindTouchDown(); + }); + var disableTabListener = $rootScope.$on('Local/TabChanged', function(e, tab) { // This will slow down switch, do not add things here! switch (tab) { @@ -64,6 +69,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi disablePaymentUriListener(); disableTabListener(); disableFocusListener(); + disableResumeListener(); $rootScope.hideMenuBar = false; });