+
- ...
- {{addr}}
+ ...
+ {{addr}}
+
diff --git a/src/js/controllers/tab-receive.js b/src/js/controllers/tab-receive.js
index c7e2b319b..0b7d04f34 100644
--- a/src/js/controllers/tab-receive.js
+++ b/src/js/controllers/tab-receive.js
@@ -10,38 +10,38 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi
});
$scope.isCordova = platformInfo.isCordova;
$scope.isNW = platformInfo.isNW;
+ $scope.needsBackup = false;
}
$scope.$on('Wallet/Changed', function(event, wallet) {
- if (lodash.isEmpty(wallet)) {
+ if (!wallet) {
$log.debug('No wallet provided');
return;
}
- $scope.defaultWallet = wallet;
+ $scope.wallet = wallet;
$log.debug('Wallet changed: ' + wallet.name);
- $scope.setAddress(wallet);
+
+ walletService.needsBackup(wallet, function(needsBackup) {
+ if (needsBackup) $scope.needsBackup = true;
+ else $scope.needsBackup = false;
+
+ $scope.setAddress(wallet);
+ });
});
$scope.shareAddress = function(addr) {
+ if ($scope.needsBackup || $scope.generatingAddress) return;
if ($scope.isCordova) {
window.plugins.socialsharing.share('bitcoin:' + addr, null, null, null);
}
};
$scope.setAddress = function(wallet, forceNew) {
- var wallet = wallet || $scope.defaultWallet;
if ($scope.generatingAddress) return;
- $scope.addr = null;
+ var wallet = wallet || $scope.wallet;
$scope.error = null;
-
- if (wallet && !wallet.isComplete()) {
- $timeout(function() {
- $scope.$digest();
- });
- return;
- }
-
+ $scope.addr = null;
$scope.generatingAddress = true;
$timeout(function() {
@@ -53,8 +53,9 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi
if (addr)
$scope.addr = addr;
}
- $scope.$digest();
+
+ $scope.$apply();
});
- });
+ }, 1);
};
});