MESSENGER-6318 remove pincode prompt in edge case

This commit is contained in:
Frank Rotermund
2024-06-17 15:24:12 +02:00
parent 253044750c
commit 2befa9ce6c

View File

@@ -303,8 +303,8 @@ class AllChatsViewController: HomeViewController {
let authIsShown: Bool
// bwi: (#4394) handling of the case of canceled login during pincode stage.
// bwi #6318 handling missing login and missing pin are different cases
if MXKAccountManager.shared().accounts.isEmpty {
// bwi #6138 handling missing login and missing pin are different cases
if MXKAccountManager.shared().accounts.isEmpty {
showOnboardingFlow()
authIsShown = true
} else if !PinCodePreferences.shared.isPinSet && PinCodePreferences.shared.forcePinProtection {
@@ -1256,7 +1256,7 @@ extension AllChatsViewController: SplitViewMasterViewControllerProtocol {
self.showOnboardingFlowAndResetSessionFlags(true)
}
// bwi #6138 if the app was force quited after login but before setting the pincode setting
// bwi #6138 if the app was force quited after login but before setting the pincode setting
func showPincodePromt() {
guard let session = self.mainSession else {
return
@@ -1269,7 +1269,7 @@ extension AllChatsViewController: SplitViewMasterViewControllerProtocol {
pinCodePreferences: PinCodePreferences.shared)
let pinCoordinator = SetPinCoordinator(parameters: setPinCodeParameters)
//pinCoordinator.delegate = self
pinCoordinator.delegate = self
add(childCoordinator: pinCoordinator)
pinCoordinator.start()
@@ -1528,3 +1528,20 @@ private extension MXSpaceService {
notificationCounter.homeNotificationState.allHighlightCount > 0
}
}
// bwi #6139 needs to handle Pin Coordinator here in edge cases (quit app during login)
extension AllChatsViewController : SetPinCoordinatorDelegate {
func setPinCoordinatorDidComplete(_ coordinator: SetPinCoordinatorType) {
self.dismiss(animated: true)
}
func setPinCoordinatorDidCompleteWithReset(_ coordinator: SetPinCoordinatorType, dueToTooManyErrors: Bool) {
self.dismiss(animated: true)
}
func setPinCoordinatorDidCancel(_ coordinator: SetPinCoordinatorType) {
self.dismiss(animated: true)
}
}