taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit 4e96de05f831f74619cffd9a7940ba03cbfc52f1
parent 0303ad68b58cc3616ee1bdb0fcf37948a49b1cc1
Author: Marc Stibane <marc@taler.net>
Date:   Mon, 26 Feb 2024 22:04:09 +0100

cleanup

Diffstat:
MTalerWallet1/Model/Model+Withdraw.swift | 32+++++++++++++++++---------------
MTalerWallet1/Quickjs/quickjs.swift | 20++++++++++++--------
MTalerWallet1/Views/Banking/ManualWithdraw.swift | 11+++++++----
MTalerWallet1/Views/Settings/AboutView.swift | 7+++++--
MTalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawURIView.swift | 9++++++---
5 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/TalerWallet1/Model/Model+Withdraw.swift b/TalerWallet1/Model/Model+Withdraw.swift @@ -1,7 +1,10 @@ /* - * This file is part of GNU Taler, ©2022-23 Taler Systems S.A. + * This file is part of GNU Taler, ©2022-24 Taler Systems S.A. * See LICENSE.md */ +/** + * @author Marc Stibane + */ import Foundation import taler_swift import SymLog @@ -180,32 +183,31 @@ fileprivate struct AcceptManualWithdrawal: WalletBackendFormattedRequest { // MARK: - extension WalletModel { /// load withdraw-exchange details. Networking involved - @MainActor - func loadWithdrawalExchangeForUriM(_ talerUri: String) // M for MainActor + @MainActor // M for MainActor + func loadWithdrawalExchangeForUriM(_ talerUri: String) async throws -> WithdrawExchangeResponse { let request = PrepareWithdrawExchange(talerUri: talerUri) let response = try await sendRequest(request, ASYNCDELAY) return response } /// load withdrawal details. Networking involved - @MainActor - func loadWithdrawalDetailsForUriM(_ talerWithdrawUri: String) // M for MainActor + @MainActor // M for MainActor + func getWithdrawalDetailsForUriM(_ talerWithdrawUri: String) async throws -> WithdrawUriInfoResponse { let request = GetWithdrawalDetailsForURI(talerWithdrawUri: talerWithdrawUri) let response = try await sendRequest(request, ASYNCDELAY) return response } - @MainActor - func loadWithdrawalDetailsForAmountM(_ exchangeBaseUrl: String, amount: Amount) // M for MainActor + @MainActor // M for MainActor + func getWithdrawalDetailsForAmountM(_ exchangeBaseUrl: String, amount: Amount) async throws -> WithdrawalAmountDetails { let request = GetWithdrawalDetailsForAmount(exchangeBaseUrl: exchangeBaseUrl, amount: amount) let response = try await sendRequest(request, ASYNCDELAY) return response } - @MainActor + @MainActor // M for MainActor func loadExchangeTermsOfServiceM(_ exchangeBaseUrl: String, acceptedFormat: [String], acceptLanguage: String) - // M for MainActor async throws -> ExchangeTermsOfService { let request = GetExchangeTermsOfService(exchangeBaseUrl: exchangeBaseUrl, acceptedFormat: acceptedFormat, @@ -213,22 +215,22 @@ extension WalletModel { let response = try await sendRequest(request, ASYNCDELAY) return response } - @MainActor - func setExchangeTOSAcceptedM(_ exchangeBaseUrl: String, etag: String) // M for MainActor + @MainActor // M for MainActor + func setExchangeTOSAcceptedM(_ exchangeBaseUrl: String, etag: String) async throws -> Decodable { let request = SetExchangeTOSAccepted(exchangeBaseUrl: exchangeBaseUrl, etag: etag) let response = try await sendRequest(request, ASYNCDELAY) return response } - @MainActor - func sendAcceptIntWithdrawalM(_ exchangeBaseUrl: String, withdrawURL: String) // M for MainActor + @MainActor // M for MainActor + func sendAcceptIntWithdrawalM(_ exchangeBaseUrl: String, withdrawURL: String) async throws -> AcceptWithdrawalResponse? { let request = AcceptBankIntegratedWithdrawal(talerWithdrawUri: withdrawURL, exchangeBaseUrl: exchangeBaseUrl) let response = try await sendRequest(request, ASYNCDELAY) return response } - @MainActor - func sendAcceptManualWithdrawalM(_ exchangeBaseUrl: String, amount: Amount, restrictAge: Int?) // M for MainActor + @MainActor // M for MainActor + func sendAcceptManualWithdrawalM(_ exchangeBaseUrl: String, amount: Amount, restrictAge: Int?) async throws -> AcceptManualWithdrawalResult? { let request = AcceptManualWithdrawal(exchangeBaseUrl: exchangeBaseUrl, amount: amount, restrictAge: restrictAge) let response = try await sendRequest(request, ASYNCDELAY) diff --git a/TalerWallet1/Quickjs/quickjs.swift b/TalerWallet1/Quickjs/quickjs.swift @@ -1,7 +1,10 @@ /* - * This file is part of GNU Taler, ©2022-23 Taler Systems S.A. + * This file is part of GNU Taler, ©2022-24 Taler Systems S.A. * See LICENSE.md */ +/** + * @author Marc Stibane + */ import Foundation import os.log @@ -24,22 +27,23 @@ func logging_callback(userdata: Optional<UnsafeMutableRawPointer>, message: Optional<UnsafePointer<Int8>>) { let native = Unmanaged<Quickjs>.fromOpaque(userdata!).takeUnretainedValue() let logger = native.logger - let theTag = String(cString: tag!) - let theMessage = String(cString: message!) + let swiftTag = String(cString: tag!) + let swiftMessage = String(cString: message!) switch level { case TALER_WALLET_LOG_ERROR: - logger.error("\(theTag, privacy: .public) \(theMessage, privacy: .public)") + logger.error("\(swiftTag, privacy: .public) \(swiftMessage, privacy: .public)") case TALER_WALLET_LOG_WARN: - logger.warning("\(theTag, privacy: .public) \(theMessage, privacy: .public)") + logger.warning("\(swiftTag, privacy: .public) \(swiftMessage, privacy: .public)") case TALER_WALLET_LOG_MESSAGE: - logger.notice("\(theTag, privacy: .public) \(theMessage, privacy: .public)") + logger.notice("\(swiftTag, privacy: .public) \(swiftMessage, privacy: .public)") case TALER_WALLET_LOG_INFO: - logger.info("\(theTag, privacy: .public) \(theMessage, privacy: .public)") + logger.info("\(swiftTag, privacy: .public) \(swiftMessage, privacy: .public)") case TALER_WALLET_LOG_TRACE: - logger.trace("\(theTag, privacy: .public) \(theMessage, privacy: .public)") + logger.trace("\(swiftTag, privacy: .public) \(swiftMessage, privacy: .public)") default: break } +// native.internalOnLog(message: swiftMessage) } // MARK: - public class Quickjs { diff --git a/TalerWallet1/Views/Banking/ManualWithdraw.swift b/TalerWallet1/Views/Banking/ManualWithdraw.swift @@ -1,7 +1,10 @@ /* - * This file is part of GNU Taler, ©2022-23 Taler Systems S.A. + * This file is part of GNU Taler, ©2022-24 Taler Systems S.A. * See LICENSE.md */ +/** + * @author Marc Stibane + */ import SwiftUI import taler_swift import SymLog @@ -108,7 +111,7 @@ struct ManualWithdraw: View { } if !amountToTransfer.isZero { do { - let details = try await model.loadWithdrawalDetailsForAmountM(exchangeBaseUrl, + let details = try await model.getWithdrawalDetailsForAmountM(exchangeBaseUrl, amount: amountToTransfer) withdrawalAmountDetails = details // agePicker.setAges(ages: withdrawalAmountDetails?.ageRestrictionOptions) @@ -124,12 +127,12 @@ struct ManualWithdraw: View { #if DEBUG struct ManualWithdraw_Previews: PreviewProvider { struct StateContainer : View { - @State private var amountToTransfer = Amount(currency: LONGCURRENCY, cent: 510) + @State private var amountToPreview = Amount(currency: LONGCURRENCY, cent: 510) var body: some View { ManualWithdraw(stack: CallStack("Preview"), exchangeBaseUrl: DEMOEXCHANGE, - amountToTransfer: $amountToTransfer) + amountToTransfer: $amountToPreview) } } diff --git a/TalerWallet1/Views/Settings/AboutView.swift b/TalerWallet1/Views/Settings/AboutView.swift @@ -1,7 +1,10 @@ /* - * This file is part of GNU Taler, ©2022-23 Taler Systems S.A. + * This file is part of GNU Taler, ©2022-24 Taler Systems S.A. * See LICENSE.md */ +/** + * @author Marc Stibane + */ import SwiftUI import taler_swift import SymLog @@ -38,7 +41,7 @@ struct AboutView: View { // .accessibilityLabel("Progress indicator") .onTapGesture(count: 1) { rotationEnabled.toggle() } SettingsItem(name: "Visit the taler.net website", id1: "web", - description: minimalistic ? nil : String(localized: "More info about Gnu Taler in general...")) { } + description: minimalistic ? nil : String(localized: "More info about GNU Taler in general...")) { } .accessibilityAddTraits(.isLink) .accessibilityRemoveTraits(.isStaticText) .onTapGesture() { diff --git a/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawURIView.swift b/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawURIView.swift @@ -1,7 +1,10 @@ /* - * This file is part of GNU Taler, ©2022-23 Taler Systems S.A. + * This file is part of GNU Taler, ©2022-24 Taler Systems S.A. * See LICENSE.md */ +/** + * @author Marc Stibane + */ import SwiftUI import taler_swift import SymLog @@ -91,13 +94,13 @@ struct WithdrawURIView: View { .task { do { // TODO: cancelled symLog.log(".task") - let withdrawUriInfo = try await model.loadWithdrawalDetailsForUriM(url.absoluteString) + let withdrawUriInfo = try await model.getWithdrawalDetailsForUriM(url.absoluteString) let amount = withdrawUriInfo.amount let baseUrl = withdrawUriInfo.defaultExchangeBaseUrl ?? withdrawUriInfo.possibleExchanges.first?.exchangeBaseUrl if let baseUrl, let exc = await model.getExchangeByUrl(url: baseUrl) { exchange = exc - let details = try await model.loadWithdrawalDetailsForAmountM(baseUrl, amount: amount) + let details = try await model.getWithdrawalDetailsForAmountM(baseUrl, amount: amount) withdrawalAmountDetails = details // agePicker.setAges(ages: details?.ageRestrictionOptions) } else { // TODO: error