Wallet/src/js/controllers/lock.js

65 lines
1.8 KiB
JavaScript
Raw Normal View History

'use strict';
2017-03-29 11:30:16 -03:00
angular.module('copayApp.controllers').controller('lockController', function($state, $scope, $timeout, $log, configService, popupService, gettextCatalog, appConfigService, fingerprintService) {
$scope.$on("$ionicView.beforeEnter", function(event) {
var config = configService.getSync();
2017-03-29 09:25:18 -03:00
$scope.fingerprintAvailable = fingerprintService.isAvailable();
2017-03-29 11:30:16 -03:00
$scope.usePin = {
enabled: config.lock && config.lock.method == 'pin' ? true : false
};
$scope.useFingerprint = {
2017-03-29 11:30:16 -03:00
enabled: config.lock && config.lock.method == 'fingerprint' ? true : false
};
});
2017-03-29 11:30:16 -03:00
$scope.usePinChange = function() {
$state.go('tabs.lock.pin', {
fromSettings: true,
2017-03-29 11:30:16 -03:00
locking: $scope.usePin.enabled
});
};
$scope.useFingerprintChange = function() {
2017-03-29 11:30:16 -03:00
if ($scope.usePin.enabled) {
var message = gettextCatalog.getString('{{appName}} is protected by Pin Code. Are you sure you want to disable it?', {
appName: appConfigService.nameCase
});
var okText = gettextCatalog.getString('Yes');
var cancelText = gettextCatalog.getString('Cancel');
popupService.showConfirm(null, message, okText, cancelText, function(ok) {
if (!ok) {
$scope.useFingerprint = {
enabled: false
};
$timeout(function() {
$scope.$apply();
});
return;
}
saveConfig();
});
} else
saveConfig();
function saveConfig() {
2017-03-29 11:30:16 -03:00
$scope.usePin = {
enabled: false
};
$timeout(function() {
$scope.$apply();
});
var opts = {
2017-03-29 11:30:16 -03:00
lock: {
method: $scope.useFingerprint.enabled ? 'fingerprint' : '',
value: '',
}
};
configService.set(opts, function(err) {
if (err) $log.debug(err);
});
};
};
});