diff --git a/Gruntfile.js b/Gruntfile.js
index 7968f2510..4ac23e47a 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -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: {
diff --git a/app-template/config-template.xml b/app-template/config-template.xml
index 8686b7b36..b24b86fae 100644
--- a/app-template/config-template.xml
+++ b/app-template/config-template.xml
@@ -77,7 +77,7 @@
-
+
diff --git a/src/android/build-extras.gradle b/src/android/build-extras.gradle
index e7dd50572..c90145418 100644
--- a/src/android/build-extras.gradle
+++ b/src/android/build-extras.gradle
@@ -1,5 +1,6 @@
ext {
ANDROID_SUPPORT_V4_VERSION = '26.1.0'
+ ANDROID_SUPPORT_ANNOTATIONS_VERSION = '26.1.0'
}
configurations.all {
diff --git a/src/js/controllers/addresses.js b/src/js/controllers/addresses.js
index a62ba5fd8..5750fdc23 100644
--- a/src/js/controllers/addresses.js
+++ b/src/js/controllers/addresses.js
@@ -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);
});
diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js
index 2053e32a5..927a113e5 100644
--- a/src/js/controllers/preferences.js
+++ b/src/js/controllers/preferences.js
@@ -116,4 +116,4 @@ angular.module('copayApp.controllers').controller('preferencesController',
$scope.$on("$ionicView.enter", function(event, data) {
$ionicNavBarDelegate.showBar(true);
});
- });
+});
diff --git a/src/js/controllers/preferencesAdvancedController.js b/src/js/controllers/preferencesAdvancedController.js
index ddc30bdf0..6987be694 100644
--- a/src/js/controllers/preferencesAdvancedController.js
+++ b/src/js/controllers/preferencesAdvancedController.js
@@ -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,
});
};
diff --git a/src/js/controllers/wallet-details.controller.js b/src/js/controllers/wallet-details.controller.js
index 429420741..d2aef1f76 100644
--- a/src/js/controllers/wallet-details.controller.js
+++ b/src/js/controllers/wallet-details.controller.js
@@ -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;
diff --git a/src/js/routes.js b/src/js/routes.js
index d2b78aac3..46ca8862e 100644
--- a/src/js/routes.js
+++ b/src/js/routes.js
@@ -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
diff --git a/src/js/services/send-flow.service.js b/src/js/services/send-flow.service.js
index e8be2e487..babf5096a 100644
--- a/src/js/services/send-flow.service.js
+++ b/src/js/services/send-flow.service.js
@@ -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';
}
diff --git a/src/js/services/shapeShiftApiService.js b/src/js/services/shapeShiftApiService.js
index cc5fb0792..a90e587d4 100644
--- a/src/js/services/shapeShiftApiService.js
+++ b/src/js/services/shapeShiftApiService.js
@@ -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')]);
}
}
};
diff --git a/src/js/services/wallet-history.service.js b/src/js/services/wallet-history.service.js
index 512a2d8b1..a0b36288d 100644
--- a/src/js/services/wallet-history.service.js
+++ b/src/js/services/wallet-history.service.js
@@ -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) {
diff --git a/www/views/tab-settings.html b/www/views/tab-settings.html
index 3091e63a6..7b2578383 100644
--- a/www/views/tab-settings.html
+++ b/www/views/tab-settings.html
@@ -100,22 +100,6 @@
-
{{'Bitcoin Cash (BCH)' | translate}}
-
-
-
-
-
- {{'Bitcoin Core (BTC)' | translate}}
-
-
-
-
-
{{'Integrations' | translate}}
+