From 9abccdba41dd529e227da2aadf3e508b0f9e8974 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 19:26:22 -0300 Subject: [PATCH] fix update on resume --- src/js/controllers/index.js | 20 +++++++++++++++----- src/js/controllers/walletHome.js | 17 +++++++++++++++-- src/js/init.js | 6 ++---- src/js/routes.js | 3 --- 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index c9a78f0c0..4e5f5f605 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -553,17 +553,27 @@ angular.module('copayApp.controllers').controller('indexController', function($r go.walletHome(); }); + self.debouncedUpdate = lodash.throttle(function() { + self.updateAll(); + self.updateTxHistory(); + }, 4000, {leading: false, trailing: true}); + + + // No need ot listing to Local/Resume since + // reconnection and Local/Online will be triggered lodash.each(['Local/Online', 'Local/Resume'], function(eventName) { $rootScope.$on(eventName, function(event) { - $log.debug('### Online event'); - self.isOffline = false; - self.updateAll(); - self.updateTxHistory(); + $log.debug('### ' + eventName + ' event'); + self.debouncedUpdate(); }); }); + $rootScope.$on('Local/Online', function(event) { + self.isOffline = false; + }); + $rootScope.$on('Local/Offline', function(event) { - $log.debug('Offline event'); + $log.debug('### Offline event'); self.isOffline = true; $timeout(function() { $rootScope.$apply(); diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index caff71684..750e34b5f 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -45,10 +45,22 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.resetForm(); }); - var disableResumeListener = $rootScope.$on('Local/Resume', function() { - self.bindTouchDown(); + var disableOnlineListener = $rootScope.$on('Local/Online', function() { + // This is needed then the apps go to sleep + $timeout(function() { + self.bindTouchDown(); + }, 2000); }); + var disableResumeListener = $rootScope.$on('Local/Resume', function() { + // This is needed then the apps go to sleep + $timeout(function() { + self.bindTouchDown(); + }, 2000); + }); + + + var disableTabListener = $rootScope.$on('Local/TabChanged', function(e, tab) { // This will slow down switch, do not add things here! switch (tab) { @@ -68,6 +80,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi disableTabListener(); disableFocusListener(); disableResumeListener(); + disableOnlineListener(); $rootScope.hideMenuBar = false; }); diff --git a/src/js/init.js b/src/js/init.js index 21cd08a5e..ba6e36e0d 100644 --- a/src/js/init.js +++ b/src/js/init.js @@ -18,6 +18,8 @@ angular.element(document).ready(function() { }, false); document.addEventListener('resume', function() { + +console.log('[init.js.21] RESUME'); //TODO if (!window.ignoreMobilePause) { window.location = '#/cordova/resume'; } @@ -31,10 +33,6 @@ angular.element(document).ready(function() { document.addEventListener('offline', function() { window.location = '#/cordova/offline'; }, false); - // - // document.addEventListener("online", function() { - // window.location = '#/cordoba/online'; - // }, false); // Back button event document.addEventListener('backbutton', function() { diff --git a/src/js/routes.js b/src/js/routes.js index 0a0484857..42d2a19e1 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -448,9 +448,6 @@ angular case 'resume': $rootScope.$emit('Local/Resume'); break; - // case 'online': - // // $scope.$emit('Local/Online'); - // break; case 'offline': $rootScope.$emit('Local/Offline'); break;