diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index ae534feaa..a23599433 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -1055,9 +1055,11 @@ angular.module('copayApp.controllers').controller('indexController', function($r }; self.setUxLanguage = function() { - var userLang = uxLanguage.update(); - self.defaultLanguageIsoCode = userLang; - self.defaultLanguageName = uxLanguage.getName(userLang); + uxLanguage.update(function(lang) { + var userLang = lang; + self.defaultLanguageIsoCode = userLang; + self.defaultLanguageName = uxLanguage.getName(userLang); + }); }; self.initGlidera = function(accessToken) { @@ -1216,11 +1218,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); $rootScope.$on('Local/LanguageSettingUpdated', function() { - self.setUxLanguage(); - self.updateRemotePreferences({ - saveAll: true - }, function() { - $log.debug('Remote preferences saved') + self.setUxLanguage(function() { + self.updateRemotePreferences({ + saveAll: true + }, function() { + $log.debug('Remote preferences saved') + }); }); }); @@ -1391,7 +1394,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.noFocusedWallet = true; self.isComplete = null; self.walletName = null; - self.setUxLanguage(); + self.setUxLanguage(function() {}); profileService.isDisclaimerAccepted(function(v) { if (v) { go.path('import'); @@ -1401,7 +1404,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); $rootScope.$on('Local/NewFocusedWallet', function() { - self.setUxLanguage(); + self.setUxLanguage(function() {}); self.setFocusedWallet(); self.debounceUpdateHistory(); self.isDisclaimerAccepted(); diff --git a/src/js/services/uxLanguage.js b/src/js/services/uxLanguage.js index 3dc8bca75..c9ddfe872 100644 --- a/src/js/services/uxLanguage.js +++ b/src/js/services/uxLanguage.js @@ -85,7 +85,7 @@ angular.module('copayApp.services') }); }; - root.update = function() { + root.update = function(cb) { var userLang = configService.getSync().wallet.settings.defaultLanguage; if (!userLang) { @@ -96,8 +96,13 @@ angular.module('copayApp.services') if (userLang != root.currentLanguage) { root._set(lang); } - return userLang; + return cb(userLang); }); + } else { + if (userLang != root.currentLanguage) { + root._set(userLang); + } + return cb(userLang); } };