From a0b0f1a30bd16adcc2eec9a12f7547fd5b0dee42 Mon Sep 17 00:00:00 2001 From: Sebastiaan Pasma Date: Mon, 28 May 2018 10:52:31 +0200 Subject: [PATCH 1/3] Check if permission has been granted, if so, activate the camera --- src/js/controllers/tab-scan.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/tab-scan.js b/src/js/controllers/tab-scan.js index c29be53ad..fef3f2764 100644 --- a/src/js/controllers/tab-scan.js +++ b/src/js/controllers/tab-scan.js @@ -60,8 +60,14 @@ angular.module('copayApp.controllers').controller('tabScanController', function( }); $scope.$on("$ionicView.afterEnter", function() { - // try initializing and refreshing status any time the view is entered - scannerService.gentleInitialize(); + var capabilities = scannerService.getCapabilities(); + if (capabilities.hasPermission) { + // try initializing and refreshing status any time the view is entered + if(!scannerService.isInitialized()) { + scannerService.gentleInitialize(); + } + activate(); + } }); function activate(){ From 1e1f5deb2a4ee98d754f9601f5bd27d10d3918b8 Mon Sep 17 00:00:00 2001 From: Sebastiaan Pasma Date: Mon, 4 Jun 2018 21:37:36 +0200 Subject: [PATCH 2/3] iOS 9.3 fix --- src/js/controllers/modals/search.js | 12 ++++++------ src/js/services/walletService.js | 20 ++++++++++++-------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/js/controllers/modals/search.js b/src/js/controllers/modals/search.js index 55d51bfcc..439df891d 100644 --- a/src/js/controllers/modals/search.js +++ b/src/js/controllers/modals/search.js @@ -104,12 +104,12 @@ angular.module('copayApp.controllers').controller('searchController', function($ }; $scope.searchOnBlockchain = function(searchTerm) { - const url = 'https://explorer.bitcoin.com/'+$scope.wallet.coin+'/search/' + searchTerm; - const optIn = true; - const title = null; - const message = gettextCatalog.getString('Search on Explorer.Bitcoin.com'); - const okText = gettextCatalog.getString('Open Explorer'); - const cancelText = gettextCatalog.getString('Go Back'); + var url = 'https://explorer.bitcoin.com/'+$scope.wallet.coin+'/search/' + searchTerm; + var optIn = true; + var title = null; + var message = gettextCatalog.getString('Search on Explorer.Bitcoin.com'); + var okText = gettextCatalog.getString('Open Explorer'); + var cancelText = gettextCatalog.getString('Go Back'); externalLinkService.open(url, optIn, title, message, okText, cancelText); }; diff --git a/src/js/services/walletService.js b/src/js/services/walletService.js index 641e7e612..e8c636d79 100644 --- a/src/js/services/walletService.js +++ b/src/js/services/walletService.js @@ -1179,17 +1179,21 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim if (signedTxp.status == 'accepted') { ongoingProcess.set('broadcastingTx', true, customStatusHandler); - function handleBroadcastTx(err, broadcastedTxp) { - ongoingProcess.set('broadcastingTx', false, customStatusHandler); - if (err) return cb(bwcError.msg(err)); - $rootScope.$emit('Local/TxAction', wallet.id); - return cb(null, broadcastedTxp); - } if (signedTxp.payProUrl && signedTxp.coin == 'bch') { - payproService.broadcastBchTx(signedTxp, handleBroadcastTx); + payproService.broadcastBchTx(signedTxp, function(err, broadcastedTxp) { + ongoingProcess.set('broadcastingTx', false, customStatusHandler); + if (err) return cb(bwcError.msg(err)); + $rootScope.$emit('Local/TxAction', wallet.id); + return cb(null, broadcastedTxp); + }); } else { - root.broadcastTx(wallet, signedTxp, handleBroadcastTx); + root.broadcastTx(wallet, signedTxp, function(err, broadcastedTxp) { + ongoingProcess.set('broadcastingTx', false, customStatusHandler); + if (err) return cb(bwcError.msg(err)); + $rootScope.$emit('Local/TxAction', wallet.id); + return cb(null, broadcastedTxp); + }); } } else { $rootScope.$emit('Local/TxAction', wallet.id); From 6c6d90ebfef5c24079a355601ccbee004ada2e50 Mon Sep 17 00:00:00 2001 From: Sebastiaan Pasma Date: Tue, 5 Jun 2018 11:15:33 +0200 Subject: [PATCH 3/3] Cleaner way without redundant code --- src/js/services/walletService.js | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/js/services/walletService.js b/src/js/services/walletService.js index e8c636d79..774fa0906 100644 --- a/src/js/services/walletService.js +++ b/src/js/services/walletService.js @@ -1180,20 +1180,17 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim if (signedTxp.status == 'accepted') { ongoingProcess.set('broadcastingTx', true, customStatusHandler); + var handleBroadcastTx = function(err, broadcastedTxp) { + ongoingProcess.set('broadcastingTx', false, customStatusHandler); + if (err) return cb(bwcError.msg(err)); + $rootScope.$emit('Local/TxAction', wallet.id); + return cb(null, broadcastedTxp); + }; + if (signedTxp.payProUrl && signedTxp.coin == 'bch') { - payproService.broadcastBchTx(signedTxp, function(err, broadcastedTxp) { - ongoingProcess.set('broadcastingTx', false, customStatusHandler); - if (err) return cb(bwcError.msg(err)); - $rootScope.$emit('Local/TxAction', wallet.id); - return cb(null, broadcastedTxp); - }); + payproService.broadcastBchTx(signedTxp, handleBroadcastTx); } else { - root.broadcastTx(wallet, signedTxp, function(err, broadcastedTxp) { - ongoingProcess.set('broadcastingTx', false, customStatusHandler); - if (err) return cb(bwcError.msg(err)); - $rootScope.$emit('Local/TxAction', wallet.id); - return cb(null, broadcastedTxp); - }); + root.broadcastTx(wallet, signedTxp, handleBroadcastTx); } } else { $rootScope.$emit('Local/TxAction', wallet.id);