Ref bootstrapping (disclaimer)
This commit is contained in:
parent
11462ce414
commit
a28f9c0e7f
5 changed files with 108 additions and 96 deletions
|
|
@ -3,14 +3,12 @@
|
|||
angular.module('copayApp.controllers').controller('disclaimerController',
|
||||
function($scope, $timeout, $log, profileService, isCordova, storageService, applicationService, gettextCatalog, uxLanguage, go) {
|
||||
self = this;
|
||||
$scope.lang = uxLanguage.currentLanguage;
|
||||
|
||||
$scope.goHome = function() {
|
||||
$scope.error = "";
|
||||
profileService.storeDisclaimer(function(err) {
|
||||
if (err) {
|
||||
$scope.error = err;
|
||||
$log.warn(err);
|
||||
$scope.$apply();
|
||||
} else go.walletHome();
|
||||
});
|
||||
|
|
@ -35,13 +33,16 @@ angular.module('copayApp.controllers').controller('disclaimerController',
|
|||
});
|
||||
};
|
||||
|
||||
storageService.getProfile(function(err, profile) {
|
||||
if (!profile) create();
|
||||
else $scope.creatingProfile = false;
|
||||
this.init = function() {
|
||||
self.lang = uxLanguage.currentLanguage;
|
||||
storageService.getProfile(function(err, profile) {
|
||||
if (!profile) create();
|
||||
else $scope.creatingProfile = false;
|
||||
|
||||
//compatible
|
||||
storageService.getCopayDisclaimerFlag(function(err, val) {
|
||||
if (val) go.walletHome();
|
||||
//compatible
|
||||
profileService.checkDisclaimer(function(val) {
|
||||
if (val) go.walletHome();
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -126,26 +126,21 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
self.initGlidera();
|
||||
|
||||
self.setCustomBWSFlag();
|
||||
if (fc.isPrivKeyExternal()) {
|
||||
self.needsBackup = false;
|
||||
self.openWallet();
|
||||
} else {
|
||||
storageService.getBackupFlag(self.walletId, function(err, val) {
|
||||
if (!fc.credentials.mnemonic)
|
||||
self.needsBackup = false;
|
||||
else
|
||||
self.needsBackup = self.network == 'testnet' ? false : !val;
|
||||
profileService.checkDisclaimer(function(v) {
|
||||
if (v) self.disclaimerAccepted = true;
|
||||
if (fc.isPrivKeyExternal()) {
|
||||
self.needsBackup = false;
|
||||
self.openWallet();
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
self.agreeDisclaimer = function() {
|
||||
storageService.getProfile(function(err, profile) {
|
||||
if (profile && profile.agreeDisclaimer)
|
||||
return profile.agreeDisclaimer;
|
||||
return null;
|
||||
} else {
|
||||
storageService.getBackupFlag(self.walletId, function(err, val) {
|
||||
if (!fc.credentials.mnemonic)
|
||||
self.needsBackup = false;
|
||||
else
|
||||
self.needsBackup = self.network == 'testnet' ? false : !val;
|
||||
self.openWallet();
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -1168,10 +1163,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
});
|
||||
});
|
||||
|
||||
$rootScope.$on('Local/NewFocusedWallet', function() {
|
||||
self.setUxLanguage();
|
||||
});
|
||||
|
||||
$rootScope.$on('Local/LanguageSettingUpdated', function() {
|
||||
self.setUxLanguage();
|
||||
self.updateRemotePreferences({
|
||||
|
|
@ -1229,6 +1220,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
|
||||
$rootScope.$on('Local/Resume', function(event) {
|
||||
$log.debug('### Resume event');
|
||||
if (!self.disclaimerAccepted) go.path('disclaimer');
|
||||
self.debouncedUpdate();
|
||||
});
|
||||
|
||||
|
|
@ -1348,14 +1340,11 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
});
|
||||
|
||||
$rootScope.$on('Local/NewFocusedWallet', function() {
|
||||
self.setUxLanguage();
|
||||
self.setFocusedWallet();
|
||||
self.updateTxHistory();
|
||||
storageService.getProfile(function(err, profile) {
|
||||
if (profile && profile.agreeDisclaimer) go.walletHome();
|
||||
|
||||
//compatible
|
||||
storageService.getCopayDisclaimerFlag(function(err, val) {
|
||||
if (val) go.walletHome();
|
||||
if (self.disclaimerAccepted) go.walletHome();
|
||||
|
||||
storageService.getCleanAndScanAddresses(function(err, walletId) {
|
||||
if (walletId && profileService.walletClients[walletId]) {
|
||||
$log.debug('Clear last address cache and Scan ', walletId);
|
||||
|
|
@ -1365,8 +1354,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
storageService.removeCleanAndScanAddresses(function() {});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$rootScope.$on('Local/SetTab', function(event, tab, reset) {
|
||||
|
|
|
|||
|
|
@ -134,6 +134,11 @@ angular.module('copayApp.services')
|
|||
};
|
||||
|
||||
root.loadAndBindProfile = function(cb) {
|
||||
root.checkDisclaimer(function(val) {
|
||||
if (!val) {
|
||||
return cb(new Error('NONAGREEDDISCLAIMER: Non agreed disclaimer'));
|
||||
}
|
||||
else {
|
||||
storageService.getProfile(function(err, profile) {
|
||||
if (err) {
|
||||
$rootScope.$emit('Local/DeviceError', err);
|
||||
|
|
@ -150,13 +155,10 @@ angular.module('copayApp.services')
|
|||
return root.bindProfile(profile, cb);
|
||||
})
|
||||
} else {
|
||||
storageService.getCopayDisclaimerFlag(function(err, val) {
|
||||
if (!profile.agreeDisclaimer) {
|
||||
if (!val) return cb(new Error('NONAGREEDDISCLAIMER: Non agreed disclaimer'));
|
||||
}
|
||||
$log.debug('Profile read');
|
||||
return root.bindProfile(profile, cb);
|
||||
});
|
||||
$log.debug('Profile read');
|
||||
return root.bindProfile(profile, cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
@ -521,11 +523,35 @@ angular.module('copayApp.services')
|
|||
root.storeDisclaimer = function(cb) {
|
||||
storageService.getProfile(function(err, profile) {
|
||||
profile.agreeDisclaimer = true;
|
||||
storageService.storeProfile(profile, function() {
|
||||
storageService.storeProfile(profile, function(err) {
|
||||
return cb(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
root.checkDisclaimer = function(cb) {
|
||||
if (root.profile && root.profile.agreeDisclaimer) return cb(true);
|
||||
storageService.getProfile(function(err, profile) {
|
||||
if (profile && profile.agreeDisclaimer)
|
||||
return cb(true);
|
||||
else if (profile && !profile.agreeDisclaimer) {
|
||||
storageService.getCopayDisclaimerFlag(function(err, val) {
|
||||
if (val) {
|
||||
root.storeDisclaimer(function(err) {
|
||||
if (err) $log.error(err);
|
||||
return cb(true);
|
||||
});
|
||||
}
|
||||
else {
|
||||
return cb();
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
return cb();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
root.importLegacyWallet = function(username, password, blob, cb) {
|
||||
var walletClient = bwcService.getClient();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue