From 5764a5c9228cf25662da697668a246fc3a4eedeb Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 3 Jan 2023 12:35:33 -0300 Subject: [wallet] Add share button to Peer-Push (and adapt to new API) #0007471 --- wallet/src/main/java/net/taler/wallet/peer/PeerManager.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'wallet/src/main/java/net/taler/wallet/peer/PeerManager.kt') diff --git a/wallet/src/main/java/net/taler/wallet/peer/PeerManager.kt b/wallet/src/main/java/net/taler/wallet/peer/PeerManager.kt index 1e53e7c..5f26119 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/PeerManager.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/PeerManager.kt @@ -22,12 +22,16 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch +import kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json import net.taler.common.Amount import net.taler.common.QrCodeManager +import net.taler.common.Timestamp import net.taler.wallet.TAG import net.taler.wallet.backend.WalletBackendApi import net.taler.wallet.exchanges.ExchangeItem import org.json.JSONObject +import java.util.concurrent.TimeUnit.DAYS class PeerManager( private val api: WalletBackendApi, @@ -51,8 +55,8 @@ class PeerManager( scope.launch(Dispatchers.IO) { api.request("initiatePeerPullPayment", InitiatePeerPullPaymentResponse.serializer()) { put("exchangeBaseUrl", exchange.exchangeBaseUrl) - put("amount", amount.toJSONString()) put("partialContractTerms", JSONObject().apply { + put("amount", amount.toJSONString()) put("summary", summary) }) }.onSuccess { @@ -72,10 +76,13 @@ class PeerManager( fun initiatePeerPushPayment(amount: Amount, summary: String) { _outgoingPushState.value = OutgoingCreating scope.launch(Dispatchers.IO) { + val expiry = Timestamp.fromMillis(System.currentTimeMillis() + DAYS.toMillis(3)) api.request("initiatePeerPushPayment", InitiatePeerPushPaymentResponse.serializer()) { put("amount", amount.toJSONString()) put("partialContractTerms", JSONObject().apply { + put("amount", amount.toJSONString()) put("summary", summary) + put("purse_expiration", JSONObject(Json.encodeToString(expiry))) }) }.onSuccess { response -> val qrCode = QrCodeManager.makeQrCode(response.talerUri) -- cgit v1.2.3