Compare commits

...

23 commits

Author SHA1 Message Date
Sebastiaan Pasma
3f359f033e
openWalletSettings-function + refactor of addresses-route.. Removed unused paths. 2018-10-02 15:48:50 +02:00
Sebastiaan Pasma
9b7827236c
remove unused goBack function 2018-10-02 15:02:04 +02:00
Sebastiaan Pasma
2cbf6ef50e
Removed some unused previous situation code. 2018-10-02 15:00:11 +02:00
Sebastiaan Pasma
fc5f6cfa65
Remove wallet preferences from App Settings and change the route to be able to use inside wallet Details (within tab-home) 2018-10-02 14:55:31 +02:00
Sebastiaan Pasma
5896dac9b7
Merge branch 'wallet/sprint/21' into wallet/task/497 2018-10-02 14:38:04 +02:00
Sebastiaan Pasma
26674447e1
Merge remote-tracking branch 'origin/wallet/sprint/22' into wallet/task/497 2018-10-02 14:37:51 +02:00
Sebastiaan Pasma
0598a07af7
Merge pull request #354 from Bitcoin-com/wallet/task/593
593 - Bugfix for Confirmation-changes not applied to unconfirmed transactions
2018-09-24 14:06:02 +02:00
Jean-Baptiste Dominguez
9f904bb098
Merge pull request #358 from Bitcoin-com/wallet/sprint/21
android fix
2018-09-24 12:32:56 +02:00
Jean-Baptiste Dominguez
37596c3a25
Merge pull request #355 from Bitcoin-com/wallet/task/595
595 - Get Android build working again
2018-09-24 12:29:24 +02:00
Jean-Baptiste Dominguez
dbe920a67b
Merge pull request #357 from Bitcoin-com/wallet/task/546
546 - Bugfix for crashing when scanning BitPay invoice URL
2018-09-24 11:47:16 +02:00
Brendon Duncan
d2178d670f Fix identification of BitPay. 2018-09-23 21:05:26 -07:00
Brendon Duncan
8f8027d573 Reverse out bugfix. 2018-09-23 20:56:15 -07:00
Brendon Duncan
babdc8a13b Restored production setting for page size. 2018-09-23 20:14:42 -07:00
Brendon Duncan
6452a0c7f4 Handling JSON exception. 2018-09-23 13:06:36 -07:00
Brendon Duncan
1b0541a7b5 Return error from Shapeshift when pairs are unavailable. 2018-09-22 22:22:06 -07:00
Brendon Duncan
c661798cd1 Android Debug and release builds work when Gradle 3.3 is in PATH. 2018-09-22 17:45:19 -07:00
Brendon Duncan
a5a1d3edb6 Remove debug logging. 2018-09-22 11:07:24 -07:00
Brendon Duncan
0ba4db83e0 Handling confirmation updates correctly for early transactions. 2018-09-22 11:03:26 -07:00
Sebastiaan Pasma
33df5044d5
Hardware back button support 2018-09-19 11:37:46 +02:00
Sebastiaan Pasma
f8a65c4932
Merge branch 'wallet/sprint/22' into wallet/task/497 2018-09-19 11:20:52 +02:00
Sebastiaan Pasma
276bce8bc4
disable animation 2018-09-18 15:19:06 +02:00
Sebastiaan Pasma
daf39c2407
Merge remote-tracking branch 'origin/wallet/sprint/22' into wallet/task/497 2018-09-17 13:41:52 +02:00
Sebastiaan Pasma
1615db9890
Wallet Settings button in Wallet Details 2018-09-13 14:49:06 +02:00
13 changed files with 46 additions and 88 deletions

View file

@ -71,7 +71,7 @@ module.exports = function(grunt) {
sign_android: {
// When the build log outputs "Built the following apk(s):", it seems to need the filename to start with "android-release".
// It looks like it simply lists all apk files starting with "android-release"
command: 'rm -f platforms/android/build/outputs/apk/android-release-signed-*.apk; jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ../bitcoin-com-release-key.jks -signedjar platforms/android/build/outputs/apk/android-release-signed.apk platforms/android/build/outputs/apk/android-release-unsigned.apk bitcoin-com && zipalign -v 4 platforms/android/build/outputs/apk/android-release-signed.apk platforms/android/build/outputs/apk/bitcoin-com-wallet-<%= pkg.fullVersion %>-android-signed-aligned.apk',
command: 'rm -f platforms/android/build/outputs/apk/release/*-android-signed-aligned.apk; jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ../bitcoin-com-release-key.jks -signedjar platforms/android/build/outputs/apk/release/android-release-signed.apk platforms/android/build/outputs/apk/release/android-release-unsigned.apk bitcoin-com && zipalign -v 4 platforms/android/build/outputs/apk/release/android-release-signed.apk platforms/android/build/outputs/apk/release/bitcoin-com-wallet-<%= pkg.fullVersion %>-android-signed-aligned.apk',
stdin: true,
},
sign_desktop_dist: {

View file

@ -77,7 +77,7 @@
</plugin>
<!-- Supported Platforms -->
<engine name="ios" spec="~4.5.3" />
<engine name="android" spec="~6.3.0" />
<engine name="android" spec="~6.4.0" />
<engine name="windows" spec="~5.0.0" />
<!-- Platform Specific Settings -->

View file

@ -1,5 +1,6 @@
ext {
ANDROID_SUPPORT_V4_VERSION = '26.1.0'
ANDROID_SUPPORT_ANNOTATIONS_VERSION = '26.1.0'
}
configurations.all {

View file

@ -158,14 +158,7 @@ angular.module('copayApp.controllers').controller('addressesController', functio
};
$scope.viewAllAddresses = function() {
var fromView = $ionicHistory.currentStateName();
var path;
if (fromView.indexOf('settings') !== -1) {
path = 'tabs.settings.allAddresses';
} else {
path = 'tabs.wallet.allAddresses';
}
$state.go(path, {
$state.go('tabs.wallet.allAddresses', {
walletId: $scope.wallet.id
});
};
@ -209,7 +202,7 @@ angular.module('copayApp.controllers').controller('addressesController', functio
return '';
}
return dateObj.toJSON();
};
}
ongoingProcess.set('sendingByEmail', true);
$timeout(function() {
@ -240,7 +233,7 @@ angular.module('copayApp.controllers').controller('addressesController', functio
};
$scope.$on("$ionicView.afterEnter", function(event, data) {
$scope.allAddressesView = data.stateName == 'tabs.receive.allAddresses' ? true : false;
$scope.allAddressesView = data.stateName === 'tabs.wallet.allAddresses';
if (!isCachedWallet($stateParams.walletId)) $scope.init();
else $log.debug('Addresses cached for Wallet:', $stateParams.walletId);
});

View file

@ -116,4 +116,4 @@ angular.module('copayApp.controllers').controller('preferencesController',
$scope.$on("$ionicView.enter", function(event, data) {
$ionicNavBarDelegate.showBar(true);
});
});
});

View file

@ -6,7 +6,7 @@ angular.module('copayApp.controllers').controller('preferencesAdvancedController
$scope.wallet = wallet;
$scope.goToAddresses = function() {
$state.go('tabs.settings.addresses', {
$state.go('tabs.preferences.addresses', {
walletId: $stateParams.walletId,
});
};

View file

@ -15,7 +15,9 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
updatingTxHistory: false,
fetchedAllTxHistory: false,
//updateTxHistoryError: false
updateTxHistoryFailed: false
updateTxHistoryFailed: false,
openWalletSettings: openWalletSettings
};
// Need flag for when to allow infinite scroll at bottom
@ -115,6 +117,10 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun
});
};
function openWalletSettings() {
$state.go('tabs.preferences', {'walletId': $scope.wallet.id, 'backToDetails': true});
}
$scope.openSearchModal = function() {
$scope.color = $scope.wallet.color;
$scope.isSearching = true;

View file

@ -194,16 +194,6 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
}
}
})
.state('tabs.wallet.addresses', {
url: '/addresses/:walletId/:toAddress',
views: {
'tab-home@tabs': {
controller: 'addressesController',
templateUrl: 'views/addresses.html'
}
}
})
.state('tabs.wallet.allAddresses', {
url: '/allAddresses/:walletId',
views: {
@ -528,7 +518,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences', {
url: '/preferences/:walletId',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesController',
templateUrl: 'views/preferences.html'
}
@ -537,7 +527,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.preferencesAlias', {
url: '/preferencesAlias',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesAliasController',
templateUrl: 'views/preferencesAlias.html'
}
@ -546,7 +536,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.preferencesColor', {
url: '/preferencesColor',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesColorController',
templateUrl: 'views/preferencesColor.html'
}
@ -555,7 +545,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.backupWarning', {
url: '/backupWarning/:from',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'backupWarningController',
templateUrl: 'views/backupWarning.html'
}
@ -564,7 +554,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.backup', {
url: '/backup',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'backupController',
templateUrl: 'views/backup.html'
}
@ -573,7 +563,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.preferencesAdvanced', {
url: '/preferencesAdvanced',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesAdvancedController',
templateUrl: 'views/preferencesAdvanced.html'
}
@ -582,16 +572,25 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.information', {
url: '/information',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesInformation',
templateUrl: 'views/preferencesInformation.html'
}
}
})
.state('tabs.preferences.addresses', { /* Addresses */
url: '/addresses/:walletId/:toAddress',
views: {
'tab-home@tabs': {
controller: 'addressesController',
templateUrl: 'views/addresses.html'
}
}
})
.state('tabs.preferences.export', {
url: '/export',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'exportController',
templateUrl: 'views/export.html'
}
@ -600,7 +599,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.preferencesBwsUrl', {
url: '/preferencesBwsUrl',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesBwsUrlController',
templateUrl: 'views/preferencesBwsUrl.html'
}
@ -609,7 +608,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.preferencesHistory', {
url: '/preferencesHistory',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesHistory',
templateUrl: 'views/preferencesHistory.html'
}
@ -618,7 +617,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.preferencesExternal', {
url: '/preferencesExternal',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesExternalController',
templateUrl: 'views/preferencesExternal.html'
}
@ -627,17 +626,16 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
.state('tabs.preferences.delete', {
url: '/delete',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'preferencesDeleteWalletController',
templateUrl: 'views/preferencesDeleteWallet.html'
}
}
})
.state('tabs.preferencesCash.scan', {
url: '/cashScan',
views: {
'tab-settings@tabs': {
'tab-home@tabs': {
controller: 'cashScanController',
templateUrl: 'views/cashScan.html'
}
@ -695,31 +693,6 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
}
})
/*
*
* Addresses
*
*/
.state('tabs.settings.addresses', {
url: '/addresses/:walletId/:toAddress',
views: {
'tab-settings@tabs': {
controller: 'addressesController',
templateUrl: 'views/addresses.html'
}
}
})
.state('tabs.settings.allAddresses', {
url: '/allAddresses/:walletId',
views: {
'tab-settings@tabs': {
controller: 'addressesController',
templateUrl: 'views/allAddresses.html'
}
}
})
/*
*
* Request Specific amount

View file

@ -52,7 +52,7 @@ angular
// Detect some merchant that we know
if (payProData.memo.indexOf('eGifter') > -1) {
name = 'eGifter'
} else if (paymentUrl.indexOf('https://bitpay.com') > -1) {
} else if (payProData.url.indexOf('https://bitpay.com') > -1) {
name = 'BitPay';
}

View file

@ -24,7 +24,7 @@ var ShapeShift = (function() {
var parsedResponse = JP(xmlhttp.responseText);
cb.apply(null, [parsedResponse]);
} else {
cb.apply(null, [new Error('Request Failed')])
cb.apply(null, [new Error('Request Failed')]);
}
}
};

View file

@ -7,8 +7,8 @@
.factory('walletHistoryService', walletHistoryService);
function walletHistoryService(configService, storageService, lodash, $log, txFormatService) {
//var PAGE_SIZE = 50;
var PAGE_SIZE = 20; // For dev only
var PAGE_SIZE = 50;
//var PAGE_SIZE = 20; // For dev only
// How much to overlap on each end of the page, for mitigating inconsistent sort order.
var PAGE_OVERLAP_FRACTION = 0.2;
var PAGE_OVERLAP = Math.floor(PAGE_SIZE * PAGE_OVERLAP_FRACTION);
@ -28,8 +28,8 @@
function addEarlyTransactions(walletId, cachedTxs, newTxs) {
var cachedTxIndexFromId = {};
cachedTxs.forEach(function forCachedTx(tx){
cachedTxIndexFromId[tx.txid] = true;
cachedTxs.forEach(function forCachedTx(tx, txIndex){
cachedTxIndexFromId[tx.txid] = txIndex;
});
var confirmationsUpdated = false;
@ -147,7 +147,6 @@
* @param {function(error, txs)} cb - txs is always an array, may be empty
*/
function getCachedTxHistory(walletId, cb) {
console.log('txhistory updateLocalTxHistoryByPage()');
storageService.getTxHistory(walletId, function onGetTxHistory(err, txHistoryString){
if (err) {
return cb(err, []);
@ -230,7 +229,6 @@
}
function updateLocalTxHistoryByPage(wallet, getLatest, flushCacheOnNew, cb) {
console.log('txhistory updaetLocalTxHistoryByPage()');
if (flushCacheOnNew) {
fetchTxHistoryByPage(wallet, 0, function onFetchTxHistory(err, txs){
if (err) {

View file

@ -100,22 +100,6 @@
<i class="icon bp-arrow-right"></i>
</a>
<div class="item item-divider" ng-show="walletsBch[0]">{{'Bitcoin Cash (BCH)' | translate}}</div>
<a class="item item-icon-left item-icon-right" href
ui-sref="tabs.preferences({'walletId': wallet.id})"
ng-repeat="wallet in walletsBch track by $index">
<span ng-include="'views/includes/walletListSettings.html'"></span>
</a>
<div class="item item-divider" ng-show="walletsBtc[0]">{{'Bitcoin Core (BTC)' | translate}}</div>
<a class="item item-icon-left item-icon-right" href
ui-sref="tabs.preferences({'walletId': wallet.id})"
ng-repeat="wallet in walletsBtc track by $index">
<span ng-include="'views/includes/walletListSettings.html'"></span>
</a>
<div class="item item-divider" ng-show="bitpayAccounts || buyAndSellServices[0]">{{'Integrations' | translate}}</div>
<a class=" item item-icon-left item-icon-right"

View file

@ -8,6 +8,9 @@
<button class="button back-button" ng-click="startSearch(); openSearchModal()" ng-if="txHistory.length > 4">
<i class="icon ion-ios-search-strong tx-search"></i>
</button>
<button class="button" ng-click="vm.openWalletSettings();">
<i class="icon ion-android-settings"></i>
</button>
</ion-nav-buttons>
</ion-nav-bar>
<style type="text/css">