mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-18 23:48:29 +02:00
MESSENGER-2762 Initial Merge
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
//
|
||||
// Copyright 2020 New Vector Ltd
|
||||
// Copyright (c) 2021 BWI GmbH
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@@ -39,9 +40,13 @@ final class BiometricsAuthenticationPresenter: NSObject {
|
||||
guard !BiometricsAuthenticationPresenter.isPresenting else {
|
||||
return
|
||||
}
|
||||
BiometricsAuthenticationPresenter.isPresenting = true
|
||||
|
||||
LAContext().evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: message) { (success, error) in
|
||||
BiometricsAuthenticationPresenter.isPresenting = true
|
||||
|
||||
let context = LAContext()
|
||||
context.localizedFallbackTitle = NSLocalizedString("biometrics_mode_cant_unlock_button_title", tableName: "Vector", comment: "")
|
||||
|
||||
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: message) { (success, error) in
|
||||
if success {
|
||||
// Complete after a little delay
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// $ createScreen.sh SetPinCode/SetupBiometrics SetupBiometrics
|
||||
/*
|
||||
Copyright 2020 New Vector Ltd
|
||||
Copyright (c) 2021 BWI GmbH
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -113,18 +114,21 @@ final class SetupBiometricsViewController: UIViewController {
|
||||
}
|
||||
|
||||
private func showSkipButton() {
|
||||
self.navigationController?.navigationBar.isHidden = false
|
||||
self.navigationItem.rightBarButtonItem = MXKBarButtonItem(title: VectorL10n.skip, style: .plain) { [weak self] in
|
||||
self?.skipCancelButtonAction()
|
||||
}
|
||||
}
|
||||
|
||||
private func showCancelButton() {
|
||||
self.navigationController?.navigationBar.isHidden = false
|
||||
self.navigationItem.rightBarButtonItem = MXKBarButtonItem(title: VectorL10n.cancel, style: .plain) { [weak self] in
|
||||
self?.skipCancelButtonAction()
|
||||
}
|
||||
}
|
||||
|
||||
private func hideSkipCancelButton() {
|
||||
self.navigationController?.navigationBar.isHidden = true
|
||||
self.navigationItem.rightBarButtonItem = nil
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// $ createScreen.sh SetPinCode/SetupBiometrics SetupBiometrics
|
||||
/*
|
||||
Copyright 2020 New Vector Ltd
|
||||
Copyright (c) 2021 BWI GmbH
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -81,7 +82,7 @@ final class SetupBiometricsViewModel: SetupBiometricsViewModelType {
|
||||
biometricsAuthenticationPresenter.present(with: VectorL10n.biometricsUsageReason) { (response) in
|
||||
switch response {
|
||||
case .success:
|
||||
self.pinCodePreferences.canUseBiometricsToUnlock = nil
|
||||
self.pinCodePreferences.canUseBiometricsToUnlock = true
|
||||
self.pinCodePreferences.resetCounters()
|
||||
self.coordinatorDelegate?.setupBiometricsViewModelDidComplete(self)
|
||||
case .failure:
|
||||
@@ -94,7 +95,7 @@ final class SetupBiometricsViewModel: SetupBiometricsViewModelType {
|
||||
biometricsAuthenticationPresenter.present(with: VectorL10n.biometricsUsageReason) { (response) in
|
||||
switch response {
|
||||
case .success:
|
||||
self.pinCodePreferences.canUseBiometricsToUnlock = nil
|
||||
self.pinCodePreferences.canUseBiometricsToUnlock = true
|
||||
self.pinCodePreferences.resetCounters()
|
||||
self.coordinatorDelegate?.setupBiometricsViewModelDidComplete(self)
|
||||
case .failure(let error):
|
||||
@@ -117,6 +118,7 @@ final class SetupBiometricsViewModel: SetupBiometricsViewModelType {
|
||||
if pinCodePreferences.isPinSet {
|
||||
self.pinCodePreferences.canUseBiometricsToUnlock = false
|
||||
// cascade this cancellation, coordinator should take care of it
|
||||
NotificationCenter.default.post(name: .biometricsDidFallbackToPin, object: nil)
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
|
||||
self.coordinatorDelegate?.setupBiometricsViewModelDidCancel(self)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user