From 2a26fb01b4276a5d7d73421f0f16b8ea08e57b37 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Mon, 10 Feb 2025 19:26:52 +0200 Subject: [PATCH] Address PR comments. --- .../SessionVerificationScreenViewModel.swift | 40 ++++++++----------- ...essionVerificationRequestDetailsView.swift | 2 + .../View/SessionVerificationScreen.swift | 2 +- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenViewModel.swift b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenViewModel.swift index b23e577ab8..2b2ab53290 100644 --- a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenViewModel.swift +++ b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenViewModel.swift @@ -123,7 +123,15 @@ class SessionVerificationScreenViewModel: SessionVerificationViewModelType, Sess case (.initial, .acceptVerificationRequest, .acceptingVerificationRequest): acceptVerificationRequest() case (.initial, .requestVerification, .requestingVerification): - requestVerification() + Task { + switch await self.requestVerification() { + case .success: + // Need to wait for the callback from the remote + break + case .failure: + self.stateMachine.processEvent(.didFail) + } + } case (.verificationRequestAccepted, .startSasVerification, .startingSasVerification): startSasVerification() case (.showingChallenge, .acceptChallenge, .acceptingChallenge): @@ -166,28 +174,14 @@ class SessionVerificationScreenViewModel: SessionVerificationViewModelType, Sess } } - private func requestVerification() { - Task { - switch flow { - case .deviceInitiator: - switch await sessionVerificationControllerProxy.requestDeviceVerification() { - case .success: - // Need to wait for the callback from the remote - break - case .failure: - stateMachine.processEvent(.didFail) - } - case .userIntiator(let userID): - switch await sessionVerificationControllerProxy.requestUserVerification(userID) { - case .success: - // Need to wait for the callback from the remote - break - case .failure: - stateMachine.processEvent(.didFail) - } - default: - fatalError("Incorrect API usage.") - } + private func requestVerification() async -> Result { + switch flow { + case .deviceInitiator: + return await sessionVerificationControllerProxy.requestDeviceVerification() + case .userIntiator(let userID): + return await sessionVerificationControllerProxy.requestUserVerification(userID) + default: + fatalError("Incorrect API usage.") } } diff --git a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationRequestDetailsView.swift b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationRequestDetailsView.swift index 95b5593477..b0ae6d953e 100644 --- a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationRequestDetailsView.swift +++ b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationRequestDetailsView.swift @@ -98,7 +98,9 @@ struct SessionVerificationRequestDetailsView: View { } .font(.compound.bodyMDSemibold) + Text(L10n.screenSessionVerificationRequestFooter) + .font(.compound.bodyMDSemibold) .foregroundColor(.compound.textPrimary) } } diff --git a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift index 1bb79d9ae9..1de1f66a52 100644 --- a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift +++ b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift @@ -31,7 +31,7 @@ struct SessionVerificationScreen: View { // MARK: - Private private var toolbar: some ToolbarContent { - ToolbarItem(placement: .navigationBarLeading) { + ToolbarItem(placement: .cancellationAction) { switch context.viewState.flow { case .userIntiator, .userResponder: Button(L10n.actionCancel) {