diff --git a/js/controllers/import.js b/js/controllers/import.js index f1fcc7e0f..780de8040 100644 --- a/js/controllers/import.js +++ b/js/controllers/import.js @@ -1,12 +1,13 @@ 'use strict'; angular.module('copayApp.controllers').controller('ImportController', - function($scope, $rootScope, $location, $timeout, identityService, notification, isMobile, Compatibility) { + function($scope, $rootScope, $location, $timeout, identityService, notification, isMobile, isCordova, Compatibility) { $rootScope.title = 'Import wallet'; $scope.importStatus = 'Importing wallet - Reading backup...'; $scope.hideAdv = true; - $scope.is_iOS = isMobile.iOS(); + $scope.isSafari = isMobile.Safari(); + $scope.isCordova = isCordova; $scope.importOpts = {}; window.ignoreMobilePause = true; @@ -22,7 +23,6 @@ angular.module('copayApp.controllers').controller('ImportController', var updateStatus = function(status) { $scope.importStatus = status; - $scope.$digest(); } @@ -34,8 +34,11 @@ angular.module('copayApp.controllers').controller('ImportController', updateStatus('Importing wallet - Procesing backup...'); identityService.importWallet(encryptedObj, $scope.password, {}, function(err) { if (err) { - $scope.loading = false; + $rootScope.starting = false; $scope.error = 'Could not read wallet. Please check your password'; + $timeout(function() { + $rootScope.$digest(); + }, 1); } }); } @@ -43,10 +46,8 @@ angular.module('copayApp.controllers').controller('ImportController', }; $scope.import = function(form) { - $scope.loading = true; if (form.$invalid) { - $scope.loading = false; $scope.error = 'There is an error in the form'; return; } @@ -61,11 +62,12 @@ angular.module('copayApp.controllers').controller('ImportController', } if (!backupFile && !backupText) { - $scope.loading = false; $scope.error = 'Please, select your backup file'; return; } + $rootScope.starting = true; + $scope.importOpts = {}; var skipFields = []; @@ -79,19 +81,18 @@ angular.module('copayApp.controllers').controller('ImportController', if (skipFields) $scope.importOpts.skipFields = skipFields; - if (backupFile) { reader.readAsBinaryString(backupFile); } else { updateStatus('Importing wallet - Procesing backup...'); - identityService.importWallet(encryptedObj, $scope.password, $scope.importOpts, function(err) { + identityService.importWallet(backupText, $scope.password, $scope.importOpts, function(err) { if (err) { - $scope.loading = false; + $rootScope.starting = false; $scope.error = 'Could not read wallet. Please check your password'; - $rootScope.$digest(); - return; + $timeout(function() { + $rootScope.$digest(); + }, 1); } - copay.Compatibility.deleteOldWallet(backupOldWallet); }); } }; diff --git a/js/controllers/importProfile.js b/js/controllers/importProfile.js index 3382673da..4b978e2e9 100644 --- a/js/controllers/importProfile.js +++ b/js/controllers/importProfile.js @@ -1,11 +1,12 @@ 'use strict'; angular.module('copayApp.controllers').controller('ImportProfileController', - function($scope, $rootScope, $location, $timeout, notification, isMobile, identityService) { + function($scope, $rootScope, $location, $timeout, notification, isMobile, isCordova, identityService) { $scope.title = 'Import a backup'; - $scope.importStatus = 'Importing wallet - Reading backup...'; + $scope.importStatus = 'Importing profile - Reading backup...'; $scope.hideAdv = true; - $scope.is_iOS = isMobile.iOS(); + $scope.isSafari = isMobile.Safari(); + $scope.isCordova = isCordova; window.ignoreMobilePause = true; $scope.$on('$destroy', function() { @@ -18,7 +19,6 @@ angular.module('copayApp.controllers').controller('ImportProfileController', var updateStatus = function(status) { $scope.importStatus = status; - $scope.$digest(); } var _importBackup = function(str) { @@ -26,8 +26,8 @@ angular.module('copayApp.controllers').controller('ImportProfileController', updateStatus('Importing profile - Setting things up...'); identityService.importProfile(str,password, function(err, iden) { - $scope.loading = false; if (err) { + $rootScope.starting = false; copay.logger.warn(err); if ((err.toString() || '').match('BADSTR')) { $scope.error = 'Bad password or corrupt profile file'; @@ -36,6 +36,9 @@ angular.module('copayApp.controllers').controller('ImportProfileController', } else { $scope.error = 'Unknown error'; } + $timeout(function() { + $rootScope.$digest(); + }, 1); } }); }; @@ -64,8 +67,9 @@ angular.module('copayApp.controllers').controller('ImportProfileController', $scope.error = 'Please, select your backup file'; return; } + + $rootScope.starting = true; - $scope.loading = true; if (backupFile) { reader.readAsBinaryString(backupFile); } else { diff --git a/js/controllers/profile.js b/js/controllers/profile.js index 97fc4e0f6..bc66c2806 100644 --- a/js/controllers/profile.js +++ b/js/controllers/profile.js @@ -1,8 +1,8 @@ 'use strict'; -angular.module('copayApp.controllers').controller('ProfileController', function($scope, $rootScope, $location, $modal, $filter, $timeout, backupService, identityService, isMobile) { +angular.module('copayApp.controllers').controller('ProfileController', function($scope, $rootScope, $location, $modal, $filter, $timeout, backupService, identityService, isMobile, isCordova) { $scope.username = $rootScope.iden.getName(); $scope.isSafari = isMobile.Safari(); - $scope.isCordova = !!window.cordova; + $scope.isCordova = isCordova; $rootScope.title = 'Profile'; $scope.hideAdv = true; @@ -62,6 +62,7 @@ angular.module('copayApp.controllers').controller('ProfileController', function( var ModalInstanceCtrl = function($scope, $modalInstance) { if (!w) return; $scope.isSafari = isMobile.Safari(); + $scope.isCordova = isCordova; $scope.item = w; $scope.error = null; $scope.success = null; diff --git a/js/models/Compatibility.js b/js/models/Compatibility.js index bab4f5b57..94da67c59 100644 --- a/js/models/Compatibility.js +++ b/js/models/Compatibility.js @@ -247,6 +247,7 @@ Compatibility.kdf = function(password) { }; Compatibility.deleteOldWallet = function(walletObj) { +console.log('[Compatibility.js:249]',walletObj); //TODO localStorage.removeItem('wallet::' + walletObj.id + '_' + walletObj.name); log.info('Old wallet ' + walletObj.name + ' deleted: ' + walletObj.id); }; diff --git a/js/services/backupService.js b/js/services/backupService.js index 88a272184..f8a445907 100644 --- a/js/services/backupService.js +++ b/js/services/backupService.js @@ -72,12 +72,12 @@ BackupService.prototype.walletDownload = function(wallet) { }; BackupService.prototype.profileEncrypted = function(iden) { + iden.setBackupDone(); return iden.exportEncryptedWithWalletInfo(iden.password); } BackupService.prototype.profileDownload = function(iden) { var ew = this.profileEncrypted(iden); - iden.setBackupDone(); var name = iden.fullName; var filename = name + '-profile.json'; this._download(ew, name, filename) diff --git a/js/services/identityService.js b/js/services/identityService.js index 2f226ff8a..dd85d84ad 100644 --- a/js/services/identityService.js +++ b/js/services/identityService.js @@ -140,7 +140,7 @@ angular.module('copayApp.services') pendingTxsService.update(); $timeout(function() { $rootScope.$digest(); - }) + }, 1); }; root.notifyTxProposalEvent = function(w, e) { diff --git a/views/import.html b/views/import.html index 6a37a559a..8d998afc4 100644 --- a/views/import.html +++ b/views/import.html @@ -1,9 +1,9 @@
-
+
-
+

{{$root.title}}

@@ -13,19 +13,23 @@
-
- {{error|translate}} +
+
+ +
+ + {{error|translate}} +
- -
+
Choose backup file from your computer
-
+
@@ -81,7 +85,8 @@
-
diff --git a/views/importProfile.html b/views/importProfile.html index f301a3709..591a36eac 100644 --- a/views/importProfile.html +++ b/views/importProfile.html @@ -1,10 +1,10 @@
-
+
-
+
Copay @@ -22,14 +22,14 @@
-
+
-
+