From 8bd7b9fb47844dfea43e9ccf27d02cdd6575bebb Mon Sep 17 00:00:00 2001 From: JDonadio Date: Thu, 30 Mar 2017 17:45:57 -0300 Subject: [PATCH] backup control --- src/js/controllers/lock.js | 35 ++++++++++++++++++++++++++++++----- www/views/lock.html | 12 ++++++++---- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/src/js/controllers/lock.js b/src/js/controllers/lock.js index 2073ac76e..4046fd8f3 100644 --- a/src/js/controllers/lock.js +++ b/src/js/controllers/lock.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('lockController', function($state, $scope, $timeout, $log, configService, popupService, gettextCatalog, appConfigService, fingerprintService) { +angular.module('copayApp.controllers').controller('lockController', function($state, $scope, $timeout, $log, configService, popupService, gettextCatalog, appConfigService, fingerprintService, profileService, lodash) { $scope.$on("$ionicView.beforeEnter", function(event) { var config = configService.getSync(); @@ -12,21 +12,46 @@ angular.module('copayApp.controllers').controller('lockController', function($st $scope.useFingerprint = { enabled: config.lock && config.lock.method == 'fingerprint' ? true : false }; + + processWallets(); }); + function processWallets() { + var wallets = profileService.getWallets(); + var singleLivenetWallet = wallets.length == 1 && wallets[0].network == 'livenet' && wallets[0].needsBackup; + var atLeastOneLivenetWallet = lodash.any(wallets, function(w) { + return w.network == 'livenet' && w.needsBackup; + }); + + if (singleLivenetWallet) { + $scope.errorMsg = gettextCatalog.getString('Backup your wallet before using this function'); + } else if (atLeastOneLivenetWallet) { + $scope.errorMsg = gettextCatalog.getString('Backup all livenet wallets before using this function'); + } else $scope.errorMsg = null; + + $timeout(function() { + $scope.$apply(); + }); + }; + $scope.usePinChange = function() { - $state.go('tabs.lock.pin', { + $scope.usePin.enabled = !$scope.usePin.enabled; + $state.transitionTo('tabs.lock.pin', { fromSettings: true, - locking: $scope.usePin.enabled + locking: !$scope.usePin.enabled + }).then(function() { + $timeout(function() { + $scope.usePin.enabled = !$scope.usePin.enabled; + }, 1000); }); }; $scope.useFingerprintChange = function() { if ($scope.usePin.enabled) { - var message = gettextCatalog.getString('{{appName}} is protected by Pin Code. Are you sure you want to disable it?', { + var message = gettextCatalog.getString('{{appName}} is protected by Pin. Are you sure you want to disable it?', { appName: appConfigService.nameCase }); - var okText = gettextCatalog.getString('Yes'); + var okText = gettextCatalog.getString('Continue'); var cancelText = gettextCatalog.getString('Cancel'); popupService.showConfirm(null, message, okText, cancelText, function(ok) { if (!ok) { diff --git a/www/views/lock.html b/www/views/lock.html index fd416ddb5..344889926 100644 --- a/www/views/lock.html +++ b/www/views/lock.html @@ -6,14 +6,18 @@ - - Enable Pin + + Enable Pin
- - Enable Fingerprint + + Enable Fingerprint
+ +
+ {{errorMsg}} +