diff --git a/public/views/export.html b/public/views/export.html index 1927e402d..717bae80a 100644 --- a/public/views/export.html +++ b/public/views/export.html @@ -4,12 +4,13 @@ ng-init="titleSection='Export Wallet'; goBackToState = 'preferencesAdvanced'"> -
+

- Failed to export + Failed to export + {{touchIdError}}
diff --git a/src/js/controllers/export.js b/src/js/controllers/export.js index 5714f609e..7014f3ced 100644 --- a/src/js/controllers/export.js +++ b/src/js/controllers/export.js @@ -1,15 +1,30 @@ 'use strict'; angular.module('copayApp.controllers').controller('exportController', - function($rootScope, $scope, $timeout, $log, backupService, storageService, profileService, platformInfo, notification, go, gettext, gettextCatalog) { + function($rootScope, $scope, $timeout, $log, backupService, fingerprintService, configService, storageService, profileService, platformInfo, notification, go, gettext, gettextCatalog) { var isWP = platformInfo.isWP; var isAndroid = platformInfo.isAndroid; - - $scope.error = null; - $scope.success = null; - $scope.metaDataEnabled = true; + var isCordova = platformInfo.isCordova; var fc = profileService.focusedClient; $scope.isEncrypted = fc.isPrivKeyEncrypted(); + $scope.touchIdError = null; + $scope.error = null; + $scope.success = null; + + $scope.init = function() { + if (!isCordova) return; + + var config = configService.getSync(); + var touchidAvailable = fingerprintService.isAvailable(); + var touchidEnabled = config.touchIdFor ? config.touchIdFor[fc.credentials.walletId] : null; + + if (!touchidAvailable || !touchidEnabled) return; + + fingerprintService.check(fc, function(err) { + if (err) + go.path($scope.goBackToState); + }); + }; $scope.downloadWalletBackup = function() { $scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) { @@ -46,7 +61,7 @@ angular.module('copayApp.controllers').controller('exportController', return cb(null, txsFromLocal, localAddressBook) }); }); - } + }; $scope.getHistoryCache = function(cb) { storageService.getTxHistory(fc.credentials.walletId, function(err, txs) { @@ -63,7 +78,7 @@ angular.module('copayApp.controllers').controller('exportController', return cb(null, localTxs); }); - } + }; $scope.getAddressbook = function(cb) { storageService.getAddressbook(fc.credentials.network, function(err, addressBook) { @@ -78,7 +93,7 @@ angular.module('copayApp.controllers').controller('exportController', return cb(null, localAddressBook); }); - } + }; $scope.getBackup = function(cb) { $scope.getMetaData($scope.metaDataEnabled, function(err, txsFromLocal, localAddressBook) { @@ -101,7 +116,7 @@ angular.module('copayApp.controllers').controller('exportController', } return cb(ew); }); - } + }; $scope.viewWalletBackup = function() { $timeout(function() {