diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index 863558730..656949602 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -197,13 +197,13 @@ angular.module('copayApp.controllers').controller('tabHomeController', }); }; - var nextStep = function() { - lodash.each(['AmazonGiftCards', 'BitpayCard', 'BuyAndSell'], function(service) { + var nextStep = function(cb) { + var i = 0; + var services = ['AmazonGiftCards', 'BitpayCard', 'BuyAndSell']; + lodash.each(services, function(service) { storageService.getNextStep(service, function(err, value) { $scope.externalServices[service] = value ? true : false; - $timeout(function() { - $ionicScrollDelegate.resize(); - }, 10); + if (++i == services.length) return cb(); }); }); }; @@ -243,7 +243,6 @@ angular.module('copayApp.controllers').controller('tabHomeController', }; $scope.$on("$ionicView.enter", function(event, data) { - nextStep(); updateAllWallets(); addressbookService.list(function(err, ab) { @@ -264,22 +263,28 @@ angular.module('copayApp.controllers').controller('tabHomeController', ]; configService.whenAvailable(function() { - var config = configService.getSync(); - var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + nextStep(function() { + var config = configService.getSync(); + var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; - $scope.glideraEnabled = config.glidera.enabled && !isWindowsPhoneApp; - $scope.coinbaseEnabled = config.coinbase.enabled && !isWindowsPhoneApp; - $scope.amazonEnabled = config.amazon.enabled; - $scope.bitpayCardEnabled = config.bitpayCard.enabled; + $scope.glideraEnabled = config.glidera.enabled && !isWindowsPhoneApp; + $scope.coinbaseEnabled = config.coinbase.enabled && !isWindowsPhoneApp; + $scope.amazonEnabled = config.amazon.enabled; + $scope.bitpayCardEnabled = config.bitpayCard.enabled; - var buyAndSellEnabled = !$scope.externalServices.BuyAndSell && ($scope.glideraEnabled || $scope.coinbaseEnabled); - var amazonEnabled = !$scope.externalServices.AmazonGiftCards && $scope.amazonEnabled; - var bitpayCardEnabled = !$scope.externalServices.BitpayCard && $scope.bitpayCardEnabled; + var buyAndSellEnabled = !$scope.externalServices.BuyAndSell && ($scope.glideraEnabled || $scope.coinbaseEnabled); + var amazonEnabled = !$scope.externalServices.AmazonGiftCards && $scope.amazonEnabled; + var bitpayCardEnabled = !$scope.externalServices.BitpayCard && $scope.bitpayCardEnabled; - $scope.nextStepEnabled = buyAndSellEnabled || amazonEnabled || bitpayCardEnabled; - $scope.recentTransactionsEnabled = config.recentTransactions.enabled; + $scope.nextStepEnabled = buyAndSellEnabled || amazonEnabled || bitpayCardEnabled; + $scope.recentTransactionsEnabled = config.recentTransactions.enabled; - if ($scope.bitpayCardEnabled) bitpayCardCache(); + if ($scope.bitpayCardEnabled) bitpayCardCache(); + $timeout(function() { + $ionicScrollDelegate.resize(); + $scope.$apply(); + }, 10); + }); }); });