Update: Adds a Bitcoin Core Wallet setting which hides BTC wallets when disabled
This commit is contained in:
parent
7bf656a0a3
commit
780951eb2f
12 changed files with 108 additions and 9 deletions
|
|
@ -13,6 +13,9 @@ angular.module('copayApp.controllers').controller('advancedSettingsController',
|
|||
$scope.hideNextSteps = {
|
||||
value: config.hideNextSteps.enabled
|
||||
};
|
||||
$scope.displayBitcoinCoreEnabled = {
|
||||
value: config.displayBitcoinCore.enabled
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -49,6 +52,17 @@ angular.module('copayApp.controllers').controller('advancedSettingsController',
|
|||
});
|
||||
};
|
||||
|
||||
$scope.displayBitcoinCoreChange = function() {
|
||||
var opts = {
|
||||
displayBitcoinCore: {
|
||||
enabled: $scope.displayBitcoinCoreEnabled.value
|
||||
}
|
||||
};
|
||||
configService.set(opts, function(err) {
|
||||
if (err) $log.debug(err);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||||
$scope.isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP;
|
||||
updateConfig();
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@ angular.module('copayApp.controllers').controller('tabHomeController',
|
|||
$scope.nextStepsItems = nextStepsService.get();
|
||||
}
|
||||
|
||||
$scope.displayBitcoinCore = config.displayBitcoinCore.enabled;
|
||||
|
||||
$scope.showServices = true;
|
||||
pushNotificationsService.init();
|
||||
firebaseEventsService.init();
|
||||
|
|
@ -317,4 +319,10 @@ angular.module('copayApp.controllers').controller('tabHomeController',
|
|||
}, 300);
|
||||
updateAllWallets();
|
||||
};
|
||||
|
||||
$rootScope.$on('Local/SettingsUpdated', function(e, walletId) {
|
||||
configService.whenAvailable(function(config) {
|
||||
$scope.displayBitcoinCore = config.displayBitcoinCore.enabled;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
};
|
||||
|
||||
var updateWalletsList = function() {
|
||||
|
||||
var config = configService.getSync();
|
||||
var networkResult = lodash.countBy($scope.wallets, 'network');
|
||||
|
||||
$scope.showTransferCard = $scope.hasWallets && (networkResult.livenet > 1 || networkResult.testnet > 1);
|
||||
|
|
@ -79,12 +79,14 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
coin: v.coin,
|
||||
network: v.network,
|
||||
balanceString: v.cachedBalance,
|
||||
displayWallet: v.coin == 'btc' ? config.displayBitcoinCore.enabled : true,
|
||||
getAddress: function(cb) {
|
||||
walletService.getAddress(v, false, cb);
|
||||
},
|
||||
});
|
||||
});
|
||||
originalList = originalList.concat(walletList);
|
||||
console.log(originalList);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.directives')
|
||||
.directive('walletSelector', function($timeout) {
|
||||
.directive('walletSelector', function($rootScope, $timeout, configService) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'views/includes/walletSelector.html',
|
||||
|
|
@ -11,9 +11,11 @@ angular.module('copayApp.directives')
|
|||
show: '=walletSelectorShow',
|
||||
wallets: '=walletSelectorWallets',
|
||||
selectedWallet: '=walletSelectorSelectedWallet',
|
||||
onSelect: '=walletSelectorOnSelect'
|
||||
onSelect: '=walletSelectorOnSelect',
|
||||
alwaysDisplayBitcoinCore: '=walletSelectorAlwaysDisplayBitcoinCore'
|
||||
},
|
||||
link: function(scope, element, attrs) {
|
||||
scope.displayWallet = true;
|
||||
scope.hide = function() {
|
||||
scope.show = false;
|
||||
};
|
||||
|
|
@ -26,6 +28,19 @@ angular.module('copayApp.directives')
|
|||
scope.$watch('wallets', function(newValue, oldValue) {
|
||||
scope.wallets = newValue;
|
||||
});
|
||||
scope.initDisplayBitcoinCoreConfig = function() {
|
||||
configService.whenAvailable(function(config) {
|
||||
scope.displayBitcoinCore = config.displayBitcoinCore.enabled;
|
||||
scope.initWalletDisplay();
|
||||
});
|
||||
};
|
||||
scope.initWalletDisplay = function() {
|
||||
scope.displayWallet = scope.alwaysDisplayBitcoinCore ? true : scope.displayBitcoinCore;
|
||||
};
|
||||
scope.initDisplayBitcoinCoreConfig();
|
||||
$rootScope.$on('Local/SettingsUpdated', function(e, walletId) {
|
||||
scope.initDisplayBitcoinCoreConfig();
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1310,6 +1310,9 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
applicationService.appLockModal('check');
|
||||
});
|
||||
};
|
||||
|
||||
profileService.initBitcoinCoreDisplay();
|
||||
|
||||
// After everything have been loaded
|
||||
$timeout(function() {
|
||||
emailService.init(); // Update email subscription if necessary
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.services').factory('configService', function(storageService, lodash, $log, $timeout, $rootScope, platformInfo) {
|
||||
angular.module('copayApp.services').factory('configService', function(storageService, lodash, $log, $timeout, $rootScope, $injector, platformInfo) {
|
||||
var root = {};
|
||||
|
||||
var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP;
|
||||
|
|
@ -84,6 +84,10 @@ angular.module('copayApp.services').factory('configService', function(storageSer
|
|||
enabled: true,
|
||||
},
|
||||
|
||||
displayBitcoinCore: {
|
||||
enabled: false,
|
||||
},
|
||||
|
||||
hideNextSteps: {
|
||||
enabled: isWindowsPhoneApp ? true : false,
|
||||
},
|
||||
|
|
@ -245,6 +249,18 @@ angular.module('copayApp.services').factory('configService', function(storageSer
|
|||
return lodash.clone(defaultConfig);
|
||||
};
|
||||
|
||||
root.checkIfConfigIsSet = function(key) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
storageService.getConfig(function(err, localConfig) {
|
||||
if (localConfig) {
|
||||
configCache = JSON.parse(localConfig);
|
||||
resolve(configCache.hasOwnProperty(key));
|
||||
} else {
|
||||
reject(false);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return root;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1037,5 +1037,29 @@ angular.module('copayApp.services')
|
|||
return cb(null, txps, n);
|
||||
};
|
||||
|
||||
root.initBitcoinCoreDisplay = function() {
|
||||
configService.checkIfConfigIsSet('displayBitcoinCore').then(function(result) {
|
||||
if (!result) {
|
||||
var walletsBtc = root.getWallets({coin: 'btc'});
|
||||
var totalBtc = 0;
|
||||
|
||||
walletsBtc.forEach( (value, key, index) => {
|
||||
totalBtc += parseFloat(value.cachedBalance);
|
||||
});
|
||||
|
||||
var enableDisplayBitcoinCore = totalBtc > 0 ? true : false;
|
||||
|
||||
var opts = {
|
||||
displayBitcoinCore: {
|
||||
enabled: enableDisplayBitcoinCore
|
||||
}
|
||||
};
|
||||
configService.set(opts, function(err) {
|
||||
if (err) $log.debug(err);
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
return root;
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue