Fixes detection of spendable vs. total balance. Implements refresh logic for updating view when use unconfirmed setting changes.

This commit is contained in:
Andy Phillipson 2016-12-14 12:29:09 -05:00
commit 86ee84395f
2 changed files with 11 additions and 4 deletions

View file

@ -67,6 +67,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
setPendingTxps(status.pendingTxps); setPendingTxps(status.pendingTxps);
$scope.status = status; $scope.status = status;
} }
refreshAmountSection();
$timeout(function() { $timeout(function() {
$scope.$apply(); $scope.$apply();
}); });
@ -264,7 +265,12 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
return; return;
} }
prevPos = pos; prevPos = pos;
var amountHeight = 210 - pos; refreshAmountSection(pos);
};
function refreshAmountSection(scrollPos) {
scrollPos = scrollPos || 0;
var amountHeight = 210 - scrollPos;
if (amountHeight < 80) { if (amountHeight < 80) {
amountHeight = 80; amountHeight = 80;
} }
@ -334,7 +340,7 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
}); });
$scope.updateAll(); $scope.updateAll();
getScrollPosition(); refreshAmountSection();
listeners = [ listeners = [
$rootScope.$on('bwsEvent', function(e, walletId) { $rootScope.$on('bwsEvent', function(e, walletId) {

View file

@ -160,16 +160,17 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
// Address with Balance // Address with Balance
cache.balanceByAddress = balance.byAddress; cache.balanceByAddress = balance.byAddress;
// Total wallet balance is same regardless of 'spend unconfirmed funds' setting.
cache.totalBalanceSat = balance.totalAmount;
// Spend unconfirmed funds // Spend unconfirmed funds
if (config.spendUnconfirmed) { if (config.spendUnconfirmed) {
cache.totalBalanceSat = balance.totalAmount;
cache.lockedBalanceSat = balance.lockedAmount; cache.lockedBalanceSat = balance.lockedAmount;
cache.availableBalanceSat = balance.availableAmount; cache.availableBalanceSat = balance.availableAmount;
cache.totalBytesToSendMax = balance.totalBytesToSendMax; cache.totalBytesToSendMax = balance.totalBytesToSendMax;
cache.pendingAmount = 0; cache.pendingAmount = 0;
cache.spendableAmount = balance.totalAmount - balance.lockedAmount; cache.spendableAmount = balance.totalAmount - balance.lockedAmount;
} else { } else {
cache.totalBalanceSat = balance.totalConfirmedAmount;
cache.lockedBalanceSat = balance.lockedConfirmedAmount; cache.lockedBalanceSat = balance.lockedConfirmedAmount;
cache.availableBalanceSat = balance.availableConfirmedAmount; cache.availableBalanceSat = balance.availableConfirmedAmount;
cache.totalBytesToSendMax = balance.totalBytesToSendConfirmedMax; cache.totalBytesToSendMax = balance.totalBytesToSendConfirmedMax;