diff --git a/src/js/controllers/backup.js b/src/js/controllers/backup.js index f40af13d8..324372323 100644 --- a/src/js/controllers/backup.js +++ b/src/js/controllers/backup.js @@ -131,6 +131,7 @@ angular.module('copayApp.controllers').controller('backupController', } profileService.setBackupFlag(wallet.credentials.walletId); + profileService.setBackupNeededModalFlag(wallet.credentials.walletId); return cb(); }, 1); }; diff --git a/src/js/controllers/tab-receive.js b/src/js/controllers/tab-receive.js index e9be3ab63..a0e0029b8 100644 --- a/src/js/controllers/tab-receive.js +++ b/src/js/controllers/tab-receive.js @@ -4,7 +4,7 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi $scope.isCordova = platformInfo.isCordova; $scope.isNW = platformInfo.isNW; - + var showModalTimeout; $scope.shareAddress = function(addr) { if ($scope.generatingAddress) return; @@ -14,19 +14,21 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi }; $scope.setAddress = function(forceNew) { - if ($scope.generatingAddress || !$scope.wallet.isComplete()) return; - + if (!$scope.wallet || $scope.generatingAddress || !$scope.wallet.isComplete()) return; $scope.addr = null; $scope.generatingAddress = true; walletService.getAddress($scope.wallet, forceNew, function(err, addr) { $scope.generatingAddress = false; if (err) popupService.showAlert(gettextCatalog.getString('Error'), err); $scope.addr = addr; - if ($scope.wallet.showBackupNeededModal) $scope.openBackupNeededModal(); - - $timeout(function(){ + if ($scope.wallet.showBackupNeededModal) { + showModalTimeout = $timeout(function() { + $scope.openBackupNeededModal(); + }, 2000); + } + $timeout(function() { $scope.$apply(); - },10); + }, 10); }); }; @@ -88,6 +90,10 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi }, 100); }); + $scope.$on("$ionicView.leave", function(event, data) { + $timeout.cancel(showModalTimeout); + }); + $scope.$on("$ionicView.beforeEnter", function(event, data) { $scope.wallets = profileService.getWallets(); $scope.wallet = $scope.wallets[0]; diff --git a/www/views/tab-home.html b/www/views/tab-home.html index 2229336dc..62dcc4f3d 100644 --- a/www/views/tab-home.html +++ b/www/views/tab-home.html @@ -59,7 +59,7 @@
- +