From 6876951cb30f057a852937a533d5d51d26645680 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 7 Sep 2022 15:48:00 -0300 Subject: [wallet] implement prototype for handling incoming pay-push URI --- .../net/taler/wallet/peer/PeerOutgoingState.kt | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 wallet/src/main/java/net/taler/wallet/peer/PeerOutgoingState.kt (limited to 'wallet/src/main/java/net/taler/wallet/peer/PeerOutgoingState.kt') diff --git a/wallet/src/main/java/net/taler/wallet/peer/PeerOutgoingState.kt b/wallet/src/main/java/net/taler/wallet/peer/PeerOutgoingState.kt new file mode 100644 index 0000000..0b6b2a8 --- /dev/null +++ b/wallet/src/main/java/net/taler/wallet/peer/PeerOutgoingState.kt @@ -0,0 +1,47 @@ +/* + * This file is part of GNU Taler + * (C) 2022 Taler Systems S.A. + * + * GNU Taler is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 3, or (at your option) any later version. + * + * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * GNU Taler; see the file COPYING. If not, see + */ + +package net.taler.wallet.peer + +import android.graphics.Bitmap +import kotlinx.serialization.Serializable +import net.taler.wallet.backend.TalerErrorInfo + +sealed class PeerOutgoingState +object PeerOutgoingIntro : PeerOutgoingState() +object PeerOutgoingCreating : PeerOutgoingState() +data class PeerOutgoingResponse( + val talerUri: String, + val qrCode: Bitmap, +) : PeerOutgoingState() + +data class PeerOutgoingError( + val info: TalerErrorInfo, +) : PeerOutgoingState() + +@Serializable +data class InitiatePeerPullPaymentResponse( + /** + * Taler URI for the other party to make the payment that was requested. + */ + val talerUri: String, +) + +@Serializable +data class InitiatePeerPushPaymentResponse( + val exchangeBaseUrl: String, + val talerUri: String, +) -- cgit v1.2.3