add "verifying wallet message"

This commit is contained in:
Matias Alejo Garcia 2016-06-13 09:50:37 -03:00
commit 22ed51d047
No known key found for this signature in database
GPG key ID: 02470DB551277AB3
3 changed files with 62 additions and 29 deletions

View file

@ -1427,6 +1427,19 @@ angular.module('copayApp.controllers').controller('indexController', function($r
self.tab = 'walletHome';
});
$rootScope.$on('Local/ValidatingWallet', function() {
if (isCordova) {
window.plugins.spinnerDialog.hide();
window.plugins.spinnerDialog.show(null, gettext('Validating wallet integrity...'), true);
}
});
$rootScope.$on('Local/ProfileBound', function() {
if (isCordova) {
window.plugins.spinnerDialog.hide();
}
});
$rootScope.$on('Local/ClearHistory', function(event) {
$log.debug('The wallet transaction history has been deleted');
self.txHistory = self.completeHistory = self.txHistorySearchResults = [];

View file

@ -614,7 +614,6 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
} else {
if (profileService.focusedClient && !profileService.focusedClient.isComplete() && toState.walletShouldBeComplete) {
event.preventDefault();
$state.transitionTo('copayers');
}
}

View file

@ -123,9 +123,9 @@ angular.module('copayApp.services')
// Used when reading wallets from the profile
root.bindWallet = function(credentials) {
root.bindWallet = function(credentials, cb) {
if (!credentials.walletId)
throw 'bindWallet should receive credentials JSON';
return cb('bindWallet should receive credentials JSON');
// Create the client
@ -136,16 +136,21 @@ angular.module('copayApp.services')
};
var skipKeyValidation = root.profile.isChecked(platformInfo.ua, credentials.walletId);
$log.info('Binding wallet:' + credentials.walletId + ' Validating?:' + !skipKeyValidation);
var client = bwcService.getClient(JSON.stringify(credentials), {
bwsurl: getBWSURL(credentials.walletId),
skipKeyValidation: skipKeyValidation,
});
if (!skipKeyValidation) {
$rootScope.$emit('Local/ValidatingWallet');
}
$timeout(function() {
$log.info('Binding wallet:' + credentials.walletId + ' Validating?:' + !skipKeyValidation);
var client = bwcService.getClient(JSON.stringify(credentials), {
bwsurl: getBWSURL(credentials.walletId),
skipKeyValidation: skipKeyValidation,
});
if (!skipKeyValidation && !client.incorrectDerivation)
root.profile.setChecked(platformInfo.ua, credentials.walletId);
if (!skipKeyValidation && !client.incorrectDerivation)
root.profile.setChecked(platformInfo.ua, credentials.walletId);
return root.bindWalletClient(client);
return cb(null, root.bindWalletClient(client));
}, 1);
};
root.bindProfile = function(profile, cb) {
@ -155,26 +160,42 @@ angular.module('copayApp.services')
$log.debug('Preferences read');
if (err) return cb(err);
lodash.each(root.profile.credentials, function(credentials) {
root.bindWallet(credentials);
});
$rootScope.$emit('Local/WalletListUpdated');
function bindWallets(cb) {
var l = root.profile.credentials.length;
var i = 0, totalBound = 0;
storageService.getFocusedWalletId(function(err, focusedWalletId) {
if (err) return cb(err);
root._setFocus(focusedWalletId, function() {
if (usePushNotifications)
root.pushNotificationsInit();
root.isDisclaimerAccepted(function(val) {
if (!val) {
return cb(new Error('NONAGREEDDISCLAIMER: Non agreed disclaimer'));
lodash.each(root.profile.credentials, function(credentials) {
root.bindWallet(credentials, function(err, bound) {
i++;
totalBound += bound;
if (i == l) {
$log.info('Bound ' + totalBound + ' out of ' + l + ' wallets');
if (totalBound)
$rootScope.$emit('Local/WalletListUpdated');
return cb();
}
});
});
}
bindWallets(function() {
storageService.getFocusedWalletId(function(err, focusedWalletId) {
if (err) return cb(err);
root._setFocus(focusedWalletId, function() {
if (usePushNotifications)
root.pushNotificationsInit();
root.isBound = true;
$rootScope.$emit('Local/ProfileBound');
return cb();
root.isDisclaimerAccepted(function(val) {
if (!val) {
return cb(new Error('NONAGREEDDISCLAIMER: Non agreed disclaimer'));
}
return cb();
});
});
});
})
});
});
};
@ -348,8 +369,8 @@ angular.module('copayApp.services')
// check if exist
if (lodash.find(root.profile.credentials, {
'walletId': walletData.walletId
})) {
'walletId': walletData.walletId
})) {
return cb(gettext('Cannot join the same wallet more that once'));
}
} catch (ex) {
@ -709,7 +730,7 @@ angular.module('copayApp.services')
return (w.n == n);
});
}
return lodash.sortBy(ret, 'name');
};