move update indexes to the loading screen

This commit is contained in:
Yemel Jardi 2014-06-19 11:35:38 -03:00
parent 0958d9686e
commit 386a5bea6f
2 changed files with 20 additions and 20 deletions

View File

@ -6,21 +6,16 @@ angular.module('copayApp.controllers').controller('ImportController',
var reader = new FileReader(); var reader = new FileReader();
var _importBackup = function(encryptedObj) { var _importBackup = function(encryptedObj) {
Passphrase.getBase64Async($scope.password, function(passphrase){ Passphrase.getBase64Async($scope.password, function(passphrase){
var w, errMsg; walletFactory.import(encryptedObj, passphrase, function(err, w) {
try { if (err) {
w = walletFactory.fromEncryptedObj(encryptedObj, passphrase); $scope.loading = false;
} catch(e) { $rootScope.$flashMessage = { message: err.errMsg || 'Wrong password', type: 'error'};
errMsg = e.message; $rootScope.$digest();
} return;
if (!w) { }
$scope.loading = false; $rootScope.wallet = w;
$rootScope.$flashMessage = { message: errMsg || 'Wrong password', type: 'error'}; controllerUtils.startNetwork($rootScope.wallet, $scope);
$rootScope.$digest(); });
return;
}
$rootScope.wallet = w;
controllerUtils.startNetwork($rootScope.wallet, $scope);
}); });
}; };

View File

@ -71,14 +71,19 @@ WalletFactory.prototype.fromEncryptedObj = function(base64, password) {
var walletObj = this.storage.import(base64); var walletObj = this.storage.import(base64);
if (!walletObj) return false; if (!walletObj) return false;
var w = this.fromObj(walletObj); var w = this.fromObj(walletObj);
var self = this;
w.updateIndexes(function(err) {
if (err) throw err;
self.log('Indexes updated');
});
return w; return w;
}; };
WalletFactory.prototype.import = function(base64, password, cb) {
var self = this;
var w = self.fromEncryptedObj(base64, password);
w.updateIndexes(function(err) {
if (err) return cb(err);
self.log('Indexes updated');
cb(null, w);
});
}
WalletFactory.prototype.read = function(walletId) { WalletFactory.prototype.read = function(walletId) {
if (!this._checkRead(walletId)) if (!this._checkRead(walletId))
return false; return false;