From 8627e6010397a4a0c9986180fc6d61d4f4448044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Wed, 7 Jun 2017 12:23:07 -0300 Subject: [PATCH 01/17] add old scanner for windows platform --- app-template/config-template.xml | 1 + src/js/controllers/join.js | 1 + src/js/controllers/tabsController.js | 21 ++++- src/js/directives/qrScanner.js | 35 ++++++-- src/js/services/scannerService.js | 122 +++++++++++++++------------ www/views/tab-home.html | 1 + www/views/tabs.html | 2 +- 7 files changed, 121 insertions(+), 62 deletions(-) diff --git a/app-template/config-template.xml b/app-template/config-template.xml index b8019530a..d0dec21e9 100644 --- a/app-template/config-template.xml +++ b/app-template/config-template.xml @@ -60,6 +60,7 @@ + diff --git a/src/js/controllers/join.js b/src/js/controllers/join.js index 0acc5556b..b17236d5b 100644 --- a/src/js/controllers/join.js +++ b/src/js/controllers/join.js @@ -50,6 +50,7 @@ angular.module('copayApp.controllers').controller('joinController', $scope.onQrCodeScannedJoin = function(data) { $scope.formData.secret = data; + $scope.$apply(); }; if ($stateParams.url) { diff --git a/src/js/controllers/tabsController.js b/src/js/controllers/tabsController.js index 42899e13e..ef4dd8299 100644 --- a/src/js/controllers/tabsController.js +++ b/src/js/controllers/tabsController.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('tabsController', function($rootScope, $log, $scope, $state, $stateParams, $timeout, incomingData, lodash, popupService, gettextCatalog) { +angular.module('copayApp.controllers').controller('tabsController', function($rootScope, $log, $scope, $state, $stateParams, $timeout, platformInfo, incomingData, lodash, popupService, gettextCatalog, scannerService) { $scope.onScan = function(data) { if (!incomingData.redir(data)) { @@ -22,6 +22,25 @@ angular.module('copayApp.controllers').controller('tabsController', function($ro }, 1); }; + $scope.chooseScanner = function() { + + var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + + if (!isWindowsPhoneApp) { + $state.go('tabs.scan'); + return; + } + + scannerService.useOldScanner(function(err, contents) { + if (err) { + popupService.showAlert(gettextCatalog.getString('Error'), err); + return; + } + incomingData.redir(contents); + }); + + }; + $scope.$on("$ionicView.beforeEnter", function(event, data) { $rootScope.hideTabs = ''; }); diff --git a/src/js/directives/qrScanner.js b/src/js/directives/qrScanner.js index 8a144bc2b..cd1759e56 100644 --- a/src/js/directives/qrScanner.js +++ b/src/js/directives/qrScanner.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.directives') - .directive('qrScanner', function($state, $rootScope, $log, $ionicHistory) { + .directive('qrScanner', function($state, $rootScope, $log, $ionicHistory, platformInfo, scannerService) { return { restrict: 'E', @@ -9,26 +9,49 @@ angular.module('copayApp.directives') onScan: "&" }, replace: true, - template: '', + template: '', link: function(scope, el, attrs) { + scope.chooseScanner = function() { + var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + + if (!isWindowsPhoneApp) { + scope.openScanner(); + return; + } + + scannerService.useOldScanner(function(err, contents) { + if (err) { + popupService.showAlert(gettextCatalog.getString('Error'), err); + return; + } + scope.onScan({ + data: contents + }); + }); + }; + scope.openScanner = function() { $log.debug('Opening scanner by directive...'); $ionicHistory.nextViewOptions({ disableAnimate: true }); - $state.go('scanner', { passthroughMode: 1 }); + $state.go('scanner', { + passthroughMode: 1 + }); }; var afterEnter = $rootScope.$on('$ionicView.afterEnter', function() { - if($rootScope.scanResult) { - scope.onScan({ data: $rootScope.scanResult }); + if ($rootScope.scanResult) { + scope.onScan({ + data: $rootScope.scanResult + }); $rootScope.scanResult = null; } }); // Destroy event - scope.$on('$destroy', function(){ + scope.$on('$destroy', function() { afterEnter(); }); } diff --git a/src/js/services/scannerService.js b/src/js/services/scannerService.js index 0c3f28916..ddf62895d 100644 --- a/src/js/services/scannerService.js +++ b/src/js/services/scannerService.js @@ -17,27 +17,27 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti var canChangeCamera = false; var canOpenSettings = false; - function _checkCapabilities(status){ + function _checkCapabilities(status) { $log.debug('scannerService is reviewing platform capabilities...'); // Permission can be assumed on the desktop builds - hasPermission = (isDesktop || status.authorized)? true: false; - isDenied = status.denied? true : false; - isRestricted = status.restricted? true : false; - canEnableLight = status.canEnableLight? true : false; - canChangeCamera = status.canChangeCamera? true : false; - canOpenSettings = status.canOpenSettings? true : false; + hasPermission = (isDesktop || status.authorized) ? true : false; + isDenied = status.denied ? true : false; + isRestricted = status.restricted ? true : false; + canEnableLight = status.canEnableLight ? true : false; + canChangeCamera = status.canChangeCamera ? true : false; + canOpenSettings = status.canOpenSettings ? true : false; _logCapabilities(); } - function _logCapabilities(){ - function _orIsNot(bool){ - return bool? '' : 'not '; + function _logCapabilities() { + function _orIsNot(bool) { + return bool ? '' : 'not '; } $log.debug('A camera is ' + _orIsNot(isAvailable) + 'available to this app.'); var access = 'not authorized'; - if(hasPermission) access = 'authorized'; - if(isDenied) access = 'denied'; - if(isRestricted) access = 'restricted'; + if (hasPermission) access = 'authorized'; + if (isDenied) access = 'denied'; + if (isRestricted) access = 'restricted'; $log.debug('Camera access is ' + access + '.'); $log.debug('Support for opening device settings is ' + _orIsNot(canOpenSettings) + 'available on this platform.'); $log.debug('A light is ' + _orIsNot(canEnableLight) + 'available on this platform.'); @@ -47,7 +47,7 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti /** * Immediately return known capabilities of the current platform. */ - this.getCapabilities = function(){ + this.getCapabilities = function() { return { isAvailable: isAvailable, hasPermission: hasPermission, @@ -68,18 +68,18 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti * The `status` of QRScanner is returned to the callback. */ this.gentleInitialize = function(callback) { - if(initializeStarted && !isDesktop){ - QRScanner.getStatus(function(status){ + if (initializeStarted && !isDesktop) { + QRScanner.getStatus(function(status) { _completeInitialization(status, callback); }); return; } initializeStarted = true; $log.debug('Trying to pre-initialize QRScanner.'); - if(!isDesktop){ - QRScanner.getStatus(function(status){ + if (!isDesktop) { + QRScanner.getStatus(function(status) { _checkCapabilities(status); - if(status.authorized){ + if (status.authorized) { $log.debug('Camera permission already granted.'); initialize(callback); } else { @@ -92,14 +92,14 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti } }; - function initialize(callback){ + function initialize(callback) { $log.debug('Initializing scanner...'); - QRScanner.prepare(function(err, status){ - if(err){ + QRScanner.prepare(function(err, status) { + if (err) { isAvailable = false; $log.error(err); // does not return `status` if there is an error - QRScanner.getStatus(function(status){ + QRScanner.getStatus(function(status) { _completeInitialization(status, callback); }); } else { @@ -112,18 +112,19 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti // This could be much cleaner with a Promise API // (needs a polyfill for some platforms) var initializeCompleted = false; - function _completeInitialization(status, callback){ + + function _completeInitialization(status, callback) { _checkCapabilities(status); initializeCompleted = true; $rootScope.$emit('scannerServiceInitialized'); - if(typeof callback === "function"){ + if (typeof callback === "function") { callback(status); } } - this.isInitialized = function(){ + this.isInitialized = function() { return initializeCompleted; }; - this.initializeStarted = function(){ + this.initializeStarted = function() { return initializeStarted; }; @@ -140,21 +141,21 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti */ this.activate = function(callback) { $log.debug('Activating scanner...'); - QRScanner.show(function(status){ - initializeCompleted = true; - _checkCapabilities(status); - if(typeof callback === "function"){ - callback(status); - } - }); - if(nextHide !== null){ - $timeout.cancel(nextHide); - nextHide = null; - } - if(nextDestroy !== null){ - $timeout.cancel(nextDestroy); - nextDestroy = null; + QRScanner.show(function(status) { + initializeCompleted = true; + _checkCapabilities(status); + if (typeof callback === "function") { + callback(status); } + }); + if (nextHide !== null) { + $timeout.cancel(nextHide); + nextHide = null; + } + if (nextDestroy !== null) { + $timeout.cancel(nextDestroy); + nextDestroy = null; + } }; /** @@ -193,18 +194,18 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti // Natively hide the QRScanner's preview // On mobile platforms, this can reduce GPU/power usage // On desktop, this fully turns off the camera (and any associated privacy lights) - function _hide(){ + function _hide() { $log.debug('Scanner not in use for ' + hideAfterSeconds + ' seconds, hiding...'); QRScanner.hide(); } // Reduce QRScanner power/processing consumption by the maximum amount - function _destroy(){ + function _destroy() { $log.debug('Scanner not in use for ' + destroyAfterSeconds + ' seconds, destroying...'); QRScanner.destroy(); } - this.reinitialize = function(callback){ + this.reinitialize = function(callback) { initializeCompleted = false; QRScanner.destroy(); initialize(callback); @@ -217,17 +218,18 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti */ this.toggleLight = function(callback) { $log.debug('Toggling light...'); - if(lightEnabled){ + if (lightEnabled) { QRScanner.disableLight(_handleResponse); } else { QRScanner.enableLight(_handleResponse); } - function _handleResponse(err, status){ - if(err){ + + function _handleResponse(err, status) { + if (err) { $log.error(err); } else { lightEnabled = status.lightEnabled; - var state = lightEnabled? 'enabled' : 'disabled'; + var state = lightEnabled ? 'enabled' : 'disabled'; $log.debug('Light ' + state + '.'); } callback(lightEnabled); @@ -241,16 +243,17 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti * is complete. */ this.toggleCamera = function(callback) { - var nextCamera = backCamera? 1 : 0; - function cameraToString(index){ - return index === 1? 'front' : 'back'; // front = 1, back = 0 + var nextCamera = backCamera ? 1 : 0; + + function cameraToString(index) { + return index === 1 ? 'front' : 'back'; // front = 1, back = 0 } $log.debug('Toggling to the ' + cameraToString(nextCamera) + ' camera...'); - QRScanner.useCamera(nextCamera, function(err, status){ - if(err){ + QRScanner.useCamera(nextCamera, function(err, status) { + if (err) { $log.error(err); } - backCamera = status.currentCamera === 1? false : true; + backCamera = status.currentCamera === 1 ? false : true; $log.debug('Camera toggled. Now using the ' + cameraToString(backCamera) + ' camera.'); callback(status); }); @@ -260,4 +263,15 @@ angular.module('copayApp.services').service('scannerService', function($log, $ti $log.debug('Attempting to open device settings...'); QRScanner.openSettings(); }; + + this.useOldScanner = function(callback) { + cordova.plugins.barcodeScanner.scan( + function(result) { + callback(null, result.text); + }, + function(error) { + callback(error); + } + ); + } }); diff --git a/www/views/tab-home.html b/www/views/tab-home.html index 6d2ec9247..c27fa4f1b 100644 --- a/www/views/tab-home.html +++ b/www/views/tab-home.html @@ -10,6 +10,7 @@ spinner="ios-small" on-refresh="onRefresh()"> +
diff --git a/www/views/tabs.html b/www/views/tabs.html index 6673b416a..69cf93309 100644 --- a/www/views/tabs.html +++ b/www/views/tabs.html @@ -8,7 +8,7 @@ - + From c932e0d23c2ba95cac7a3c270ef8e336aa7ffc63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Wed, 7 Jun 2017 13:15:15 -0300 Subject: [PATCH 02/17] fixes --- app-template/config-template.xml | 2 +- src/js/directives/qrScanner.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app-template/config-template.xml b/app-template/config-template.xml index d0dec21e9..3c2a9bd84 100644 --- a/app-template/config-template.xml +++ b/app-template/config-template.xml @@ -72,7 +72,7 @@ - + diff --git a/src/js/directives/qrScanner.js b/src/js/directives/qrScanner.js index cd1759e56..323093203 100644 --- a/src/js/directives/qrScanner.js +++ b/src/js/directives/qrScanner.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.directives') - .directive('qrScanner', function($state, $rootScope, $log, $ionicHistory, platformInfo, scannerService) { + .directive('qrScanner', function($state, $rootScope, $log, $ionicHistory, platformInfo, scannerService, popupService) { return { restrict: 'E', From b17e38dea2e580493df6bd33dd7824b722cae0a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Wed, 7 Jun 2017 14:45:40 -0300 Subject: [PATCH 03/17] add old scanner to tab send --- src/js/controllers/tab-send.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/js/controllers/tab-send.js b/src/js/controllers/tab-send.js index ba6577938..8d176d071 100644 --- a/src/js/controllers/tab-send.js +++ b/src/js/controllers/tab-send.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('tabSendController', function($scope, $rootScope, $log, $timeout, $ionicScrollDelegate, addressbookService, profileService, lodash, $state, walletService, incomingData, popupService, platformInfo, bwcError, gettextCatalog) { +angular.module('copayApp.controllers').controller('tabSendController', function($scope, $rootScope, $log, $timeout, $ionicScrollDelegate, addressbookService, profileService, lodash, $state, walletService, incomingData, popupService, platformInfo, bwcError, gettextCatalog, scannerService) { var originalList; var CONTACTS_SHOW_LIMIT; @@ -120,7 +120,20 @@ angular.module('copayApp.controllers').controller('tabSendController', function( }; $scope.openScanner = function() { - $state.go('tabs.scan'); + var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + + if (!isWindowsPhoneApp) { + $state.go('tabs.scan'); + return; + } + + scannerService.useOldScanner(function(err, contents) { + if (err) { + popupService.showAlert(gettextCatalog.getString('Error'), err); + return; + } + incomingData.redir(contents); + }); }; $scope.showMore = function() { From 34fa643ff87cef797256d7d54e1746ef780bdf01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Wed, 7 Jun 2017 15:23:45 -0300 Subject: [PATCH 04/17] remove lock app for windows phone --- src/js/controllers/tab-settings.js | 1 + www/views/tab-settings.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js/controllers/tab-settings.js b/src/js/controllers/tab-settings.js index a245418c7..01ffacd42 100644 --- a/src/js/controllers/tab-settings.js +++ b/src/js/controllers/tab-settings.js @@ -51,6 +51,7 @@ angular.module('copayApp.controllers').controller('tabSettingsController', funct $scope.$on("$ionicView.beforeEnter", function(event, data) { $scope.isCordova = platformInfo.isCordova; + $scope.isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; $scope.isDevel = platformInfo.isDevel; $scope.appName = appConfigService.nameCase; configService.whenAvailable(function(config) { diff --git a/www/views/tab-settings.html b/www/views/tab-settings.html index cfc054614..3d7318b0b 100644 --- a/www/views/tab-settings.html +++ b/www/views/tab-settings.html @@ -89,7 +89,7 @@ - + {{'Lock App' | translate}} From 9cbd2ebb0806a44852c64cd9f5c0b8d5990eaa17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 11:41:30 -0300 Subject: [PATCH 05/17] fix success modal for wp --- src/js/directives/slideToAcceptSuccess.js | 9 ++++++--- src/sass/views/includes/slideToAcceptSuccess.scss | 6 ++++++ www/views/includes/slideToAcceptSuccess.html | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/js/directives/slideToAcceptSuccess.js b/src/js/directives/slideToAcceptSuccess.js index b5e9b20bc..fbd588bfe 100644 --- a/src/js/directives/slideToAcceptSuccess.js +++ b/src/js/directives/slideToAcceptSuccess.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.directives') - .directive('slideToAcceptSuccess', function($timeout) { + .directive('slideToAcceptSuccess', function($timeout, platformInfo) { return { restrict: 'E', templateUrl: 'views/includes/slideToAcceptSuccess.html', @@ -12,10 +12,13 @@ angular.module('copayApp.directives') hideOnConfirm: '=slideSuccessHideOnConfirm' }, link: function(scope, element, attrs) { + + scope.isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; + var elm = element[0]; elm.style.display = 'none'; scope.$watch('isShown', function() { - if(scope.isShown) { + if (scope.isShown) { elm.style.display = 'flex'; $timeout(function() { scope.fillScreen = true; @@ -24,7 +27,7 @@ angular.module('copayApp.directives') }); scope.onConfirmButtonClick = function() { scope.onConfirm(); - if(scope.hideOnConfirm) { + if (scope.hideOnConfirm) { scope.fillScreen = false; elm.style.display = 'none'; } diff --git a/src/sass/views/includes/slideToAcceptSuccess.scss b/src/sass/views/includes/slideToAcceptSuccess.scss index faeefc7c9..bf6c5e269 100644 --- a/src/sass/views/includes/slideToAcceptSuccess.scss +++ b/src/sass/views/includes/slideToAcceptSuccess.scss @@ -12,6 +12,12 @@ slide-to-accept-success { .slide-success { $duration: 400ms; + &__windows-background { + background: $v-success-bg-color; + height: 100%; + width: 100%; + position: fixed; + } &__background { $start-radius: 5; $scale-factor: 20; diff --git a/www/views/includes/slideToAcceptSuccess.html b/www/views/includes/slideToAcceptSuccess.html index 37f0381f1..a37a8cb3c 100644 --- a/www/views/includes/slideToAcceptSuccess.html +++ b/www/views/includes/slideToAcceptSuccess.html @@ -1,6 +1,6 @@
+ class="slide-success__background slide-success__windows-background" + ng-class="{'fill-screen': fillScreen, 'slide-success__windows-background': isWindowsPhoneApp}">
From 138a4ef02fe9e27165cf359eb7c79f4547c365e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 11:47:06 -0300 Subject: [PATCH 06/17] hide share app for wp --- www/views/tab-settings.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/views/tab-settings.html b/www/views/tab-settings.html index 3d7318b0b..7650aa62f 100644 --- a/www/views/tab-settings.html +++ b/www/views/tab-settings.html @@ -29,7 +29,7 @@ {{'Send Feedback' | translate}} - + From 364b6923e743191ceab842103ed5495073c0cc7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 12:29:00 -0300 Subject: [PATCH 07/17] hide color change from preferences for wp --- www/views/preferences.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/views/preferences.html b/www/views/preferences.html index 5c8d6f7aa..b7bf2e304 100644 --- a/www/views/preferences.html +++ b/www/views/preferences.html @@ -18,7 +18,7 @@ - + Color Date: Thu, 8 Jun 2017 12:46:56 -0300 Subject: [PATCH 08/17] add copy and paste support for windows universal app --- app-template/config-template.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app-template/config-template.xml b/app-template/config-template.xml index 3c2a9bd84..83671485e 100644 --- a/app-template/config-template.xml +++ b/app-template/config-template.xml @@ -43,7 +43,7 @@ - + From 162fe742f6d5fdabe210edb0274e89eff922759b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 13:47:03 -0300 Subject: [PATCH 09/17] fixes --- src/js/controllers/preferences.js | 4 ++-- www/views/includes/slideToAcceptSuccess.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js index 1057d5c69..d30413695 100644 --- a/src/js/controllers/preferences.js +++ b/src/js/controllers/preferences.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('preferencesController', - function($scope, $rootScope, $timeout, $log, $ionicHistory, configService, profileService, fingerprintService, walletService) { + function($scope, $rootScope, $timeout, $log, $ionicHistory, configService, profileService, fingerprintService, walletService, platformInfo) { var wallet; var walletId; @@ -76,7 +76,7 @@ angular.module('copayApp.controllers').controller('preferencesController', wallet = profileService.getWallet(data.stateParams.walletId); walletId = wallet.credentials.walletId; $scope.wallet = wallet; - + $scope.isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; $scope.externalSource = null; if (!wallet) diff --git a/www/views/includes/slideToAcceptSuccess.html b/www/views/includes/slideToAcceptSuccess.html index a37a8cb3c..923eab25c 100644 --- a/www/views/includes/slideToAcceptSuccess.html +++ b/www/views/includes/slideToAcceptSuccess.html @@ -1,5 +1,5 @@
From 14e0cc2e0f1b385e3b2e1f75e5a07320cd0415a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 14:36:55 -0300 Subject: [PATCH 10/17] use ionic modals for prompts --- src/js/services/popupService.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js/services/popupService.js b/src/js/services/popupService.js index 83ea3180b..1f03cd976 100644 --- a/src/js/services/popupService.js +++ b/src/js/services/popupService.js @@ -3,6 +3,7 @@ angular.module('copayApp.services').service('popupService', function($log, $ionicPopup, platformInfo, gettextCatalog) { var isCordova = platformInfo.isCordova; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; /*************** Ionic ****************/ @@ -121,7 +122,7 @@ angular.module('copayApp.services').service('popupService', function($log, $ioni opts = opts ||  {}; - if (isCordova && !opts.forceHTMLPrompt) + if (isCordova && !isWindowsPhoneApp && !opts.forceHTMLPrompt) _cordovaPrompt(title, message, opts, cb); else _ionicPrompt(title, message, opts, cb); From 95f3ddf01aa5a318da33fc39e18e223588f864f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 15:09:39 -0300 Subject: [PATCH 11/17] remove external services for this first release and general refactors --- src/js/controllers/advancedSettings.js | 3 ++- src/js/controllers/feedback/rateApp.js | 5 +++-- src/js/controllers/tab-send.js | 2 +- src/js/controllers/tabsController.js | 2 +- src/js/directives/qrScanner.js | 2 +- src/js/services/coinbaseService.js | 22 +++++++++++----------- src/js/services/configService.js | 6 ++++-- src/js/services/glideraService.js | 2 +- src/js/services/onGoingProcess.js | 10 +++++----- src/js/services/profileService.js | 10 +++++----- www/views/advancedSettings.html | 4 ++-- 11 files changed, 36 insertions(+), 32 deletions(-) diff --git a/src/js/controllers/advancedSettings.js b/src/js/controllers/advancedSettings.js index 5b213b053..89500af52 100644 --- a/src/js/controllers/advancedSettings.js +++ b/src/js/controllers/advancedSettings.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('advancedSettingsController', function($scope, $log, configService) { +angular.module('copayApp.controllers').controller('advancedSettingsController', function($scope, $log, configService, platformInfo) { var updateConfig = function() { var config = configService.getSync(); @@ -50,6 +50,7 @@ angular.module('copayApp.controllers').controller('advancedSettingsController', }; $scope.$on("$ionicView.beforeEnter", function(event, data) { + $scope.isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; updateConfig(); }); diff --git a/src/js/controllers/feedback/rateApp.js b/src/js/controllers/feedback/rateApp.js index ff3ad5e53..76f4e864b 100644 --- a/src/js/controllers/feedback/rateApp.js +++ b/src/js/controllers/feedback/rateApp.js @@ -5,7 +5,8 @@ angular.module('copayApp.controllers').controller('rateAppController', function( $scope.appName = appConfigService.nameCase; var isAndroid = platformInfo.isAndroid; var isIOS = platformInfo.isIOS; - var isWP = platformInfo.isWP; + var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + var config = configService.getSync(); $scope.skip = function() { @@ -42,7 +43,7 @@ angular.module('copayApp.controllers').controller('rateAppController', function( url = $scope.appName == 'Copay' ? defaults.rateApp.copay.android : defaults.rateApp.bitpay.android; if (isIOS) url = $scope.appName == 'Copay' ? defaults.rateApp.copay.ios : defaults.rateApp.bitpay.ios; - // if (isWP) + // if (isWindowsPhoneApp) // url = $scope.appName == 'Copay' ? defaults.rateApp.copay.windows : defaults.rateApp.bitpay.windows; externalLinkService.open(url); diff --git a/src/js/controllers/tab-send.js b/src/js/controllers/tab-send.js index 8d176d071..830cc167b 100644 --- a/src/js/controllers/tab-send.js +++ b/src/js/controllers/tab-send.js @@ -120,7 +120,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function( }; $scope.openScanner = function() { - var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; if (!isWindowsPhoneApp) { $state.go('tabs.scan'); diff --git a/src/js/controllers/tabsController.js b/src/js/controllers/tabsController.js index ef4dd8299..fcebd4ddd 100644 --- a/src/js/controllers/tabsController.js +++ b/src/js/controllers/tabsController.js @@ -24,7 +24,7 @@ angular.module('copayApp.controllers').controller('tabsController', function($ro $scope.chooseScanner = function() { - var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; if (!isWindowsPhoneApp) { $state.go('tabs.scan'); diff --git a/src/js/directives/qrScanner.js b/src/js/directives/qrScanner.js index 323093203..158f71c7e 100644 --- a/src/js/directives/qrScanner.js +++ b/src/js/directives/qrScanner.js @@ -13,7 +13,7 @@ angular.module('copayApp.directives') link: function(scope, el, attrs) { scope.chooseScanner = function() { - var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; if (!isWindowsPhoneApp) { scope.openScanner(); diff --git a/src/js/services/coinbaseService.js b/src/js/services/coinbaseService.js index cce8544de..65adaa31c 100644 --- a/src/js/services/coinbaseService.js +++ b/src/js/services/coinbaseService.js @@ -5,7 +5,7 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $ var credentials = {}; var isCordova = platformInfo.isCordova; var isNW = platformInfo.isNW; - var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; root.priceSensitivity = [{ value: 0.5, @@ -303,14 +303,14 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $ }; root.getBuyOrder = function(token, accountId, buyId, cb) { - if (!token) return cb('Invalid Token'); - $http(_get('/accounts/' + accountId + '/buys/' + buyId, token)).then(function(data) { - $log.info('Coinbase Buy Info: SUCCESS'); - return cb(null, data.data); - }, function(data) { - $log.error('Coinbase Buy Info: ERROR ' + data.statusText); - return cb(data.data); - }); + if (!token) return cb('Invalid Token'); + $http(_get('/accounts/' + accountId + '/buys/' + buyId, token)).then(function(data) { + $log.info('Coinbase Buy Info: SUCCESS'); + return cb(null, data.data); + }, function(data) { + $log.error('Coinbase Buy Info: ERROR ' + data.statusText); + return cb(data.data); + }); }; root.getTransaction = function(token, accountId, transactionId, cb) { @@ -723,7 +723,7 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $ var register = function() { - root.isActive(function(err, isActive){ + root.isActive(function(err, isActive) { if (err) return; buyAndSellService.register({ @@ -742,7 +742,7 @@ angular.module('copayApp.services').factory('coinbaseService', function($http, $ $rootScope.$on('bwsEvent', function(e, walletId, type, n) { if (type == 'NewBlock' && n && n.data && n.data.network == 'livenet') { - root.isActive(function(err,isActive){ + root.isActive(function(err, isActive) { // Update Coinbase if (isActive) root.updatePendingTransactions(); diff --git a/src/js/services/configService.js b/src/js/services/configService.js index 4a8021b55..e4521296a 100644 --- a/src/js/services/configService.js +++ b/src/js/services/configService.js @@ -1,8 +1,10 @@ 'use strict'; -angular.module('copayApp.services').factory('configService', function(storageService, lodash, $log, $timeout, $rootScope) { +angular.module('copayApp.services').factory('configService', function(storageService, lodash, $log, $timeout, $rootScope, platformInfo) { var root = {}; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; + var defaultConfig = { // wallet limits limits: { @@ -65,7 +67,7 @@ angular.module('copayApp.services').factory('configService', function(storageSer }, hideNextSteps: { - enabled: false, + enabled: isWindowsPhoneApp ? true : false, }, rates: { diff --git a/src/js/services/glideraService.js b/src/js/services/glideraService.js index ad62d3ef4..1685ad9c7 100644 --- a/src/js/services/glideraService.js +++ b/src/js/services/glideraService.js @@ -4,7 +4,7 @@ angular.module('copayApp.services').factory('glideraService', function($http, $l var root = {}; var credentials = {}; var isCordova = platformInfo.isCordova; - var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; var setCredentials = function() { if (!$window.externalServices || !$window.externalServices.glidera) { diff --git a/src/js/services/onGoingProcess.js b/src/js/services/onGoingProcess.js index 19e492e47..454d566f8 100644 --- a/src/js/services/onGoingProcess.js +++ b/src/js/services/onGoingProcess.js @@ -3,7 +3,7 @@ angular.module('copayApp.services').factory('ongoingProcess', function($log, $timeout, $filter, lodash, $ionicLoading, gettext, platformInfo) { var root = {}; var isCordova = platformInfo.isCordova; - var isWP = platformInfo.isWP; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; var ongoingProcess = {}; @@ -51,7 +51,7 @@ angular.module('copayApp.services').factory('ongoingProcess', function($log, $ti root.clear = function() { ongoingProcess = {}; - if (isCordova && !isWP) { + if (isCordova && !isWindowsPhoneApp) { window.plugins.spinnerDialog.hide(); } else { $ionicLoading.hide(); @@ -81,19 +81,19 @@ angular.module('copayApp.services').factory('ongoingProcess', function($log, $ti if (customHandler) { customHandler(processName, showName, isOn); } else if (root.onGoingProcessName) { - if (isCordova && !isWP) { + if (isCordova && !isWindowsPhoneApp) { window.plugins.spinnerDialog.show(null, showName, root.clear); } else { var tmpl; - if (isWP) tmpl = '
' + showName + '
'; + if (isWindowsPhoneApp) tmpl = '
' + showName + '
'; else tmpl = '
' + showName + '
'; $ionicLoading.show({ template: tmpl }); } } else { - if (isCordova && !isWP) { + if (isCordova && !isWindowsPhoneApp) { window.plugins.spinnerDialog.hide(); } else { $ionicLoading.hide(); diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 8c5a93662..ae44c7b26 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -5,12 +5,12 @@ angular.module('copayApp.services') var isChromeApp = platformInfo.isChromeApp; var isCordova = platformInfo.isCordova; - var isWP = platformInfo.isWP; + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; var isIOS = platformInfo.isIOS; var root = {}; var errors = bwcService.getErrors(); - var usePushNotifications = isCordova && !isWP; + var usePushNotifications = isCordova && !isWindowsPhoneApp; var UPDATE_PERIOD = 15; @@ -208,9 +208,9 @@ angular.module('copayApp.services') }; var shouldSkipValidation = function(walletId) { - return root.profile.isChecked(platformInfo.ua, walletId) || isIOS || isWP; - } - // Used when reading wallets from the profile + return root.profile.isChecked(platformInfo.ua, walletId) || isIOS || isWindowsPhoneApp; + } + // Used when reading wallets from the profile root.bindWallet = function(credentials, cb) { if (!credentials.walletId || !credentials.m) return cb('bindWallet should receive credentials JSON'); diff --git a/www/views/advancedSettings.html b/www/views/advancedSettings.html index 7181505f8..2d39653a0 100644 --- a/www/views/advancedSettings.html +++ b/www/views/advancedSettings.html @@ -16,7 +16,7 @@
- + Recent Transaction Card
@@ -25,7 +25,7 @@
- + Hide Next Steps Card
From d3b1ea07cdc7177367292ecf1a5fa75e51c4b89b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 15:21:38 -0300 Subject: [PATCH 12/17] remove next steps card and app rate from tab-home --- src/js/controllers/feedback/rateApp.js | 3 --- src/js/controllers/tab-home.js | 6 ++++++ www/views/tab-home.html | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/js/controllers/feedback/rateApp.js b/src/js/controllers/feedback/rateApp.js index 76f4e864b..7e2bc8e41 100644 --- a/src/js/controllers/feedback/rateApp.js +++ b/src/js/controllers/feedback/rateApp.js @@ -5,7 +5,6 @@ angular.module('copayApp.controllers').controller('rateAppController', function( $scope.appName = appConfigService.nameCase; var isAndroid = platformInfo.isAndroid; var isIOS = platformInfo.isIOS; - var isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; var config = configService.getSync(); @@ -43,8 +42,6 @@ angular.module('copayApp.controllers').controller('rateAppController', function( url = $scope.appName == 'Copay' ? defaults.rateApp.copay.android : defaults.rateApp.bitpay.android; if (isIOS) url = $scope.appName == 'Copay' ? defaults.rateApp.copay.ios : defaults.rateApp.bitpay.ios; - // if (isWindowsPhoneApp) - // url = $scope.appName == 'Copay' ? defaults.rateApp.copay.windows : defaults.rateApp.bitpay.windows; externalLinkService.open(url); $state.go('tabs.rate.complete', { diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index b2667b2b7..79be14391 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -12,6 +12,7 @@ angular.module('copayApp.controllers').controller('tabHomeController', $scope.homeTip = $stateParams.fromOnboarding; $scope.isCordova = platformInfo.isCordova; $scope.isAndroid = platformInfo.isAndroid; + $scope.isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; $scope.isNW = platformInfo.isNW; $scope.showRateCard = {}; @@ -42,6 +43,11 @@ angular.module('copayApp.controllers').controller('tabHomeController', } storageService.getFeedbackInfo(function(error, info) { + + if ($scope.isWindowsPhoneApp) { + $scope.showRateCard.value = false; + return; + } if (!info) { initFeedBackInfo(); } else { diff --git a/www/views/tab-home.html b/www/views/tab-home.html index c27fa4f1b..300bb78ea 100644 --- a/www/views/tab-home.html +++ b/www/views/tab-home.html @@ -109,7 +109,7 @@
-
+
From 5c9902e5c7d4c8ec0ed509a33142b9e9778808c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 8 Jun 2017 17:01:40 -0300 Subject: [PATCH 13/17] fix exit button for wp --- src/js/routes.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/js/routes.js b/src/js/routes.js index 52a9ade41..17267fa93 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -1123,7 +1123,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } }); }) - .run(function($rootScope, $state, $location, $log, $timeout, startupService, fingerprintService, $ionicHistory, $ionicPlatform, $window, appConfigService, lodash, platformInfo, profileService, uxLanguage, gettextCatalog, openURLService, storageService, scannerService, configService, emailService, /* plugins START HERE => */ coinbaseService, glideraService, amazonService, bitpayCardService, applicationService) { + .run(function($rootScope, $state, $location, $log, $timeout, startupService, ionicToast, fingerprintService, $ionicHistory, $ionicPlatform, $window, appConfigService, lodash, platformInfo, profileService, uxLanguage, gettextCatalog, openURLService, storageService, scannerService, configService, emailService, /* plugins START HERE => */ coinbaseService, glideraService, amazonService, bitpayCardService, applicationService) { uxLanguage.init(); @@ -1170,10 +1170,12 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr $ionicHistory.goBack(); } else if ($rootScope.backButtonPressedOnceToExit) { - ionic.Platform.exitApp(); + navigator.app.exitApp(); } else { $rootScope.backButtonPressedOnceToExit = true; - window.plugins.toast.showShortBottom(gettextCatalog.getString('Press again to exit')); + $rootScope.$apply(function() { + ionicToast.show(gettextCatalog.getString('Press again to exit'), 'bottom', false, 1000); + }); $timeout(function() { $rootScope.backButtonPressedOnceToExit = false; }, 3000); From 4772faf758773b951f7fa45e95ee8e7be4294ff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Fri, 9 Jun 2017 11:04:20 -0300 Subject: [PATCH 14/17] comment phonegap-plugin-barcodescanner plugin to avoid build crashs on android and ios --- app-template/config-template.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app-template/config-template.xml b/app-template/config-template.xml index 83671485e..ae3db5723 100644 --- a/app-template/config-template.xml +++ b/app-template/config-template.xml @@ -60,7 +60,6 @@ - @@ -69,6 +68,9 @@ + + + From b388ddb98a83ff93a949466f186553469e8b8614 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Thu, 15 Jun 2017 12:00:49 -0300 Subject: [PATCH 15/17] fix appxmanifest values --- app-template/bitpay/appConfig.json | 4 ++-- app-template/config-template.xml | 6 ++++-- app-template/copay/appConfig.json | 4 ++-- app-template/package-template.json | 4 ++-- build.json | 11 +++++++++++ 5 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 build.json diff --git a/app-template/bitpay/appConfig.json b/app-template/bitpay/appConfig.json index 1e1b40255..b5d5445f4 100644 --- a/app-template/bitpay/appConfig.json +++ b/app-template/bitpay/appConfig.json @@ -17,8 +17,8 @@ "url": "https://bitpay.com", "appDescription": "Secure Bitcoin Wallet", "winAppName": "BitPayWallet", - "wpPublisherId": "{}", - "wpProductId": "{}", + "WindowsStoreIdentityName": "18C7659D.BitPaySecureBitcoinWallet", + "WindowsStoreDisplayName": "BitPay - Secure Bitcoin Wallet", "windowsAppId": "2d1002d7-ee34-4f60-bd29-0c871ba0c195", "pushSenderId": "1036948132229", "description": "Secure Bitcoin Wallet", diff --git a/app-template/config-template.xml b/app-template/config-template.xml index ae3db5723..1abc0fb7a 100644 --- a/app-template/config-template.xml +++ b/app-template/config-template.xml @@ -17,6 +17,9 @@ + + + @@ -59,7 +62,6 @@ - @@ -69,7 +71,7 @@ - + diff --git a/app-template/copay/appConfig.json b/app-template/copay/appConfig.json index deab492ac..72cb5c54d 100644 --- a/app-template/copay/appConfig.json +++ b/app-template/copay/appConfig.json @@ -17,8 +17,8 @@ "url": "https://copay.io", "appDescription": "Copay Bitcoin Wallet", "winAppName": "CopayWallet", - "wpPublisherId": "{31cdd08b-457c-413d-b440-f6665eec847d}", - "wpProductId": "{5381aa50-9069-11e4-84cc-293caf9cbdc8}", + "WindowsStoreIdentityName": "18C7659D.CopayWallet", + "WindowsStoreDisplayName": "Copay Bitcoin Wallet", "windowsAppId": "804636ee-b017-4cad-8719-e58ac97ffa5c", "pushSenderId": "1036948132229", "description": "A Secure Bitcoin Wallet", diff --git a/app-template/package-template.json b/app-template/package-template.json index 2da610c8b..d9ebdd18a 100644 --- a/app-template/package-template.json +++ b/app-template/package-template.json @@ -91,10 +91,10 @@ "build:www-release": "grunt prod", "build:ios": "cordova prepare ios && cordova build ios --debug", "build:android": "cordova prepare android && cordova build android --debug", - "build:windows": "cordova prepare windows && cordova build windows -- --arch=\"x86\"", + "build:windows": "cordova prepare windows && cordova build windows -- --arch=\"ARM\"", "build:ios-release": "cordova prepare ios && cordova build ios --release", "build:android-release": "cordova prepare android && cordova build android --release", - "build:windows-release": "cordova prepare windows && cordova build windows --release --arch=\"x86\"", + "build:windows-release": "cordova prepare windows && cordova build windows --release --arch=\"ARM\"", "build:desktop": "grunt desktop", "build:osx": "grunt osx", "open:ios": "open platforms/ios/*.xcodeproj", diff --git a/build.json b/build.json new file mode 100644 index 000000000..921006b10 --- /dev/null +++ b/build.json @@ -0,0 +1,11 @@ +{ + "windows": { + "debug": { + "packageCertificateKeyFile": "platforms\\windows\\CordovaApp_TemporaryKey.pfx" + }, + "release": { + "packageThumbprint": "ABCABCABCABC123123123123", + "publisherId": "CN=F89609D1-EB3E-45FD-A58A-C2E3895FCE7B" + } + } +} \ No newline at end of file From 03f8b473d32221d2267d21c1b04b26aead5add1c Mon Sep 17 00:00:00 2001 From: Gabriel Date: Thu, 15 Jun 2017 12:02:24 -0300 Subject: [PATCH 16/17] fixes --- app-template/config-template.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app-template/config-template.xml b/app-template/config-template.xml index 1abc0fb7a..062977610 100644 --- a/app-template/config-template.xml +++ b/app-template/config-template.xml @@ -62,6 +62,7 @@ + @@ -71,7 +72,7 @@ - + From 52bf9c139dc419ac49862130a86708647daed888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 22 Jun 2017 15:12:42 -0300 Subject: [PATCH 17/17] change copay app name and remove slider to accept for wp --- app-template/copay/appConfig.json | 4 ++-- src/js/controllers/advancedSettings.js | 2 +- src/js/controllers/confirm.js | 5 +++-- src/js/controllers/modals/txpDetails.js | 3 ++- src/js/controllers/preferences.js | 2 +- www/views/confirm.html | 4 ++-- www/views/modals/txp-details.html | 4 ++-- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app-template/copay/appConfig.json b/app-template/copay/appConfig.json index 72cb5c54d..557b9a472 100644 --- a/app-template/copay/appConfig.json +++ b/app-template/copay/appConfig.json @@ -17,8 +17,8 @@ "url": "https://copay.io", "appDescription": "Copay Bitcoin Wallet", "winAppName": "CopayWallet", - "WindowsStoreIdentityName": "18C7659D.CopayWallet", - "WindowsStoreDisplayName": "Copay Bitcoin Wallet", + "WindowsStoreIdentityName": "18C7659D.Copay-SecureBitcoinWallet", + "WindowsStoreDisplayName": "Copay - Secure Bitcoin Wallet", "windowsAppId": "804636ee-b017-4cad-8719-e58ac97ffa5c", "pushSenderId": "1036948132229", "description": "A Secure Bitcoin Wallet", diff --git a/src/js/controllers/advancedSettings.js b/src/js/controllers/advancedSettings.js index 89500af52..cd065200c 100644 --- a/src/js/controllers/advancedSettings.js +++ b/src/js/controllers/advancedSettings.js @@ -50,7 +50,7 @@ angular.module('copayApp.controllers').controller('advancedSettingsController', }; $scope.$on("$ionicView.beforeEnter", function(event, data) { - $scope.isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + $scope.isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; updateConfig(); }); diff --git a/src/js/controllers/confirm.js b/src/js/controllers/confirm.js index c9ce5943a..da728f7a0 100644 --- a/src/js/controllers/confirm.js +++ b/src/js/controllers/confirm.js @@ -19,7 +19,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( // Platform info var isChromeApp = platformInfo.isChromeApp; var isCordova = platformInfo.isCordova; - + var isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; function refresh() { $timeout(function() { @@ -139,6 +139,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( // Other Scope vars $scope.isCordova = isCordova; + $scope.isWindowsPhoneApp = isWindowsPhoneApp; $scope.showAddress = false; updateTx(tx, null, {}, function() { @@ -308,7 +309,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( } function setButtonText(isMultisig, isPayPro) { - $scope.buttonText = gettextCatalog.getString(isCordova ? 'Slide' : 'Click') + ' '; + $scope.buttonText = gettextCatalog.getString(isCordova && !isWindowsPhoneApp ? 'Slide' : 'Click') + ' '; if (isPayPro) { $scope.buttonText += gettextCatalog.getString('to pay'); diff --git a/src/js/controllers/modals/txpDetails.js b/src/js/controllers/modals/txpDetails.js index bfab29089..0c4afc247 100644 --- a/src/js/controllers/modals/txpDetails.js +++ b/src/js/controllers/modals/txpDetails.js @@ -9,6 +9,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi $scope.init = function() { $scope.loading = null; $scope.isCordova = platformInfo.isCordova; + $scope.isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; $scope.copayerId = $scope.wallet.credentials.copayerId; $scope.isShared = $scope.wallet.credentials.n > 1; $scope.canSign = $scope.wallet.canSign() || $scope.wallet.isPrivKeyExternal(); @@ -31,7 +32,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi }; function applyButtonText() { - $scope.buttonText = $scope.isCordova ? gettextCatalog.getString('Slide') + ' ' : gettextCatalog.getString('Click') + ' '; + $scope.buttonText = $scope.isCordova && !$scope.isWindowsPhoneApp ? gettextCatalog.getString('Slide') + ' ' : gettextCatalog.getString('Click') + ' '; var lastSigner = lodash.filter($scope.tx.actions, { type: 'accept' diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js index d30413695..ef95c00db 100644 --- a/src/js/controllers/preferences.js +++ b/src/js/controllers/preferences.js @@ -76,7 +76,7 @@ angular.module('copayApp.controllers').controller('preferencesController', wallet = profileService.getWallet(data.stateParams.walletId); walletId = wallet.credentials.walletId; $scope.wallet = wallet; - $scope.isWindowsPhoneApp = platformInfo.isWP && platformInfo.isCordova; + $scope.isWindowsPhoneApp = platformInfo.isCordova && platformInfo.isWP; $scope.externalSource = null; if (!wallet) diff --git a/www/views/confirm.html b/www/views/confirm.html index cff04ebf3..afd2ef0eb 100644 --- a/www/views/confirm.html +++ b/www/views/confirm.html @@ -100,13 +100,13 @@ {{buttonText}} diff --git a/www/views/modals/txp-details.html b/www/views/modals/txp-details.html index a093ba441..8cc13f9b2 100644 --- a/www/views/modals/txp-details.html +++ b/www/views/modals/txp-details.html @@ -170,13 +170,13 @@ {{buttonText}}