diff --git a/src/js/controllers/advancedSettings.js b/src/js/controllers/advancedSettings.js index 60f32b9e9..7b9a201dd 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, $rootScope, $timeout, $log, $window, $ionicModal, lodash, configService, uxLanguage, platformInfo, pushNotificationsService, profileService, feeService, storageService, $ionicHistory, $ionicScrollDelegate, pincodeService) { +angular.module('copayApp.controllers').controller('advancedSettingsController', function($scope, $rootScope, $timeout, $state, $log, $window, $ionicModal, lodash, configService, uxLanguage, platformInfo, pushNotificationsService, profileService, feeService, storageService, $ionicHistory, $ionicScrollDelegate, pincodeService) { var updateConfig = function() { var config = configService.getSync(); @@ -53,7 +53,11 @@ angular.module('copayApp.controllers').controller('advancedSettingsController', }; $scope.usePincodeChange = function() { - pincodeService.lockChange({ + // pincodeService.lockChange({ + // fromSettings: true, + // locking: $scope.usePincode.enabled + // }); + $state.go('tabs.pincode', { fromSettings: true, locking: $scope.usePincode.enabled }); diff --git a/src/js/controllers/pincode.js b/src/js/controllers/pincode.js index c676a7d6e..f9d4831b7 100644 --- a/src/js/controllers/pincode.js +++ b/src/js/controllers/pincode.js @@ -1,7 +1,13 @@ 'use strict'; -angular.module('copayApp.controllers').controller('pincodeController', function($rootScope, $timeout, $scope, $log, $window, configService) { - $scope.currentPincode = $scope.newPincode = ''; +angular.module('copayApp.controllers').controller('pincodeController', function($rootScope, $state, $timeout, $scope, $log, $window, configService) { + + $scope.$on("$ionicView.beforeEnter", function(event, data) { + $scope.currentPincode = $scope.newPincode = ''; + $scope.fromSettings = data.stateParams.fromSettings == 'true' ? true : false; + $scope.locking = data.stateParams.locking == 'true' ? true : false; + console.log('### From Settings:', $scope.fromSettings, 'Locking:', $scope.locking); + }); angular.element($window).on('keydown', function(e) { if (e.which === 8) { @@ -87,6 +93,7 @@ angular.module('copayApp.controllers').controller('pincodeController', function( $scope.close = function() { $rootScope.$emit('updatePincodeOption'); - $scope.pincodeModal.remove(); + if ($scope.fromSettings) $state.go('tabs.advanced'); + else $state.go('tabs.home'); }; }); diff --git a/src/js/routes.js b/src/js/routes.js index 2f9e02317..249d7bd85 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -119,6 +119,18 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } }) + /* + * + * Pin code + * + */ + + .state('pincode', { + url: '/pincode/:fromSettings/:locking', + controller: 'pincodeController', + templateUrl: 'views/pincode.html' + }) + /* * * URI @@ -439,6 +451,15 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } } }) + .state('tabs.pincode', { + url: '/pincode/:fromSettings/:locking', + views: { + 'tab-settings@tabs': { + controller: 'pincodeController', + templateUrl: 'views/pincode.html', + } + } + }) /* * @@ -1091,20 +1112,11 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } }); }) - .run(function($rootScope, $state, $location, $log, $timeout, $ionicHistory, $ionicPlatform, $window, appConfigService, lodash, platformInfo, profileService, uxLanguage, gettextCatalog, openURLService, storageService, scannerService, configService, pincodeService, /* plugins START HERE => */ coinbaseService, glideraService, amazonService, bitpayCardService) { + .run(function($rootScope, $state, $location, $log, $timeout, $ionicHistory, $ionicPlatform, $window, appConfigService, lodash, platformInfo, profileService, uxLanguage, gettextCatalog, openURLService, storageService, scannerService, configService, /* plugins START HERE => */ coinbaseService, glideraService, amazonService, bitpayCardService) { uxLanguage.init(); $ionicPlatform.ready(function() { - configService.whenAvailable(function(config) { - if (config.pincode && config.pincode.enabled) { - pincodeService.lockChange({ - fromSettings: false, - locking: false, - }); - } - }); - if (screen.width < 768 && platformInfo.isCordova) screen.lockOrientation('portrait'); @@ -1205,9 +1217,19 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr disableAnimate: true, historyRoot: true }); - $state.transitionTo('tabs.home').then(function() { - // Clear history - $ionicHistory.clearHistory(); + configService.whenAvailable(function(config) { + console.log('### CONFIG', config.pincode); + if (config.pincode && config.pincode.enabled) { + $state.go('pincode', { + fromSettings: false, + locking: false + }); + } else { + $state.transitionTo('tabs.home').then(function() { + // Clear history + $ionicHistory.clearHistory(); + }); + } }); }); } diff --git a/www/views/modals/pincode.html b/www/views/pincode.html similarity index 96% rename from www/views/modals/pincode.html rename to www/views/pincode.html index 765d374a7..5f8f75a4d 100644 --- a/www/views/modals/pincode.html +++ b/www/views/pincode.html @@ -1,4 +1,4 @@ - +
Close