From b38e2f6ef3d2cf4b593d6f9e61b647aa43556b20 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 22 Jan 2016 01:59:20 -0300 Subject: [PATCH] Fix setting touchId --- src/js/controllers/preferences.js | 4 ++-- src/js/services/txSignService.js | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js index 046d4e6da..ce69f5903 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, configService, profileService) { + function($scope, $rootScope, $timeout, $log, configService, profileService, txSignService) { var fc = profileService.focusedClient; $scope.deleted = false; @@ -75,7 +75,7 @@ angular.module('copayApp.controllers').controller('preferencesController', }; opts.touchIdFor[walletId] = newVal; - $rootScope.$emit('Local/RequestTouchid', function(err) { + txSignService.setTouchId(function(err) { if (err) { $log.debug(err); $timeout(function() { diff --git a/src/js/services/txSignService.js b/src/js/services/txSignService.js index fb71cf289..43984750b 100644 --- a/src/js/services/txSignService.js +++ b/src/js/services/txSignService.js @@ -2,7 +2,6 @@ angular.module('copayApp.services').factory('txSignService', function($rootScope, profileService, gettextCatalog, lodash, trezor, ledger, configService, bwsError, $log) { var root = {}; - var config = configService.getSync(); var reportSigningStatus = function(opts) { if (!opts.reporterFn) return; @@ -41,17 +40,26 @@ angular.module('copayApp.services').factory('txSignService', function($rootScope return cb(); }, function(msg) { - $log.debug('Touch ID Failed:' + msg); - return cb(gettext('Touch ID Failed:') + msg); + $log.debug('Touch ID Failed:' + JSON.stringify(msg)); + return cb(gettextCatalog.getString('Touch ID Failed') + ': ' + msg.localizedDescription); } ); } catch (e) { - $log.debug('Touch ID Failed:' + e); - return cb(gettext('Touch ID Failed:') + e); + $log.debug('Touch ID Failed:' + JSON.stringify(e)); + return cb(gettextCatalog.getString('Touch ID Failed')); }; }; + root.setTouchId = function(cb) { + if (window.touchidAvailable) { + requestTouchId(cb); + } else { + return cb(); + } + }; + root.checkTouchId = function(cb) { + var config = configService.getSync(); var fc = profileService.focusedClient; config.touchIdFor = config.touchIdFor || {}; if (window.touchidAvailable && config.touchIdFor[fc.credentials.walletId]) {