[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-android] 02/03: [wallet] move withdrawal code to withdraw p
From: |
gnunet |
Subject: |
[taler-taler-android] 02/03: [wallet] move withdrawal code to withdraw package |
Date: |
Mon, 20 Jul 2020 21:38:31 +0200 |
This is an automated email from the git hooks/post-receive script.
torsten-grote pushed a commit to branch master
in repository taler-android.
commit de69768ac75e1608601751bd0a187e6a687dbdd2
Author: Torsten Grote <t@grobox.de>
AuthorDate: Mon Jul 20 10:55:56 2020 -0300
[wallet] move withdrawal code to withdraw package
Also show payment options from exchange's payto URIs
---
.../java/net/taler/wallet/exchanges/ExchangeManager.kt | 14 --------------
.../{exchanges => withdraw}/ManualWithdrawFragment.kt | 12 +++++++++---
.../java/net/taler/wallet/withdraw/WithdrawManager.kt | 16 ++++++++++++++++
wallet/src/main/res/navigation/nav_graph.xml | 2 +-
wallet/src/main/res/values/strings.xml | 2 +-
5 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
index cdd5590..41c8f2c 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
@@ -74,18 +74,4 @@ class ExchangeManager(
}
}
- fun getWithdrawalDetails(exchangeItem: ExchangeItem, amount: Amount) {
- val args = JSONObject().apply {
- put("exchangeBaseUrl", exchangeItem.exchangeBaseUrl)
- put("amount", amount.toJSONString())
- }
- walletBackendApi.sendRequest("getWithdrawalDetailsForAmount", args) {
isError, result ->
- if (isError) {
- Log.e(TAG, "$result")
- } else {
- Log.e(TAG, "$result")
- }
- }
- }
-
}
diff --git
a/wallet/src/main/java/net/taler/wallet/exchanges/ManualWithdrawFragment.kt
b/wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt
similarity index 83%
rename from
wallet/src/main/java/net/taler/wallet/exchanges/ManualWithdrawFragment.kt
rename to
wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt
index c3f201d..55f931d 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ManualWithdrawFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt
@@ -14,8 +14,9 @@
* GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-package net.taler.wallet.exchanges
+package net.taler.wallet.withdraw
+import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -30,12 +31,14 @@ import net.taler.common.hideKeyboard
import net.taler.wallet.MainViewModel
import net.taler.wallet.R
import net.taler.wallet.scanQrCode
+import java.util.Locale
class ManualWithdrawFragment : Fragment() {
private val model: MainViewModel by activityViewModels()
private val exchangeManager by lazy { model.exchangeManager }
private val exchangeItem by lazy {
requireNotNull(exchangeManager.withdrawalExchange) }
+ private val withdrawManager by lazy { model.withdrawManager }
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@@ -47,14 +50,17 @@ class ManualWithdrawFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
qrCodeButton.setOnClickListener { scanQrCode(requireActivity()) }
currencyView.text = exchangeItem.currency
+ val paymentOptions = exchangeItem.paytoUris.mapNotNull {paytoUri ->
+ Uri.parse(paytoUri).authority?.toUpperCase(Locale.getDefault())
+ }.joinToString(separator = "\n", prefix = "• ")
paymentOptionsLabel.text =
- getString(R.string.withdraw_manual_payment_options,
exchangeItem.name)
+ getString(R.string.withdraw_manual_payment_options,
exchangeItem.name, paymentOptions)
checkFeesButton.setOnClickListener {
val value = amountView.text.toString().toLong()
val amount = Amount(exchangeItem.currency, value, 0)
amountView.hideKeyboard()
Toast.makeText(view.context, "Not implemented: $amount",
LENGTH_SHORT).show()
- exchangeManager.getWithdrawalDetails(exchangeItem, amount)
+ withdrawManager.getWithdrawalDetails(exchangeItem, amount)
}
}
diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
index 75e4daa..ea65e7c 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
@@ -21,6 +21,7 @@ import androidx.lifecycle.MutableLiveData
import net.taler.common.Amount
import net.taler.wallet.TAG
import net.taler.wallet.backend.WalletBackendApi
+import net.taler.wallet.exchanges.ExchangeItem
import net.taler.wallet.withdraw.WithdrawStatus.ReceivedDetails
import org.json.JSONObject
@@ -63,6 +64,21 @@ class WithdrawManager(private val walletBackendApi:
WalletBackendApi) {
}
}
+ fun getWithdrawalDetails(exchangeItem: ExchangeItem, amount: Amount) {
+ val args = JSONObject().apply {
+ put("exchangeBaseUrl", exchangeItem.exchangeBaseUrl)
+ put("amount", amount.toJSONString())
+ }
+ walletBackendApi.sendRequest("getWithdrawalDetailsForAmount", args) {
isError, result ->
+ //
{"rawAmount":"TESTKUDOS:5","effectiveAmount":"TESTKUDOS:4.8","paytoUris":["payto:\/\/x-taler-bank\/bank.test.taler.net\/Exchange"],"tosAccepted":false}
+ if (isError) {
+ Log.e(TAG, "$result")
+ } else {
+ Log.e(TAG, "$result")
+ }
+ }
+ }
+
fun getWithdrawalInfo(talerWithdrawUri: String) {
val args = JSONObject().apply {
put("talerWithdrawUri", talerWithdrawUri)
diff --git a/wallet/src/main/res/navigation/nav_graph.xml
b/wallet/src/main/res/navigation/nav_graph.xml
index c9a98f0..93db557 100644
--- a/wallet/src/main/res/navigation/nav_graph.xml
+++ b/wallet/src/main/res/navigation/nav_graph.xml
@@ -74,7 +74,7 @@
<fragment
android:id="@+id/nav_exchange_manual_withdrawal"
- android:name="net.taler.wallet.exchanges.ManualWithdrawFragment"
+ android:name="net.taler.wallet.withdraw.ManualWithdrawFragment"
android:label="@string/withdraw_title"/>
<fragment
diff --git a/wallet/src/main/res/values/strings.xml
b/wallet/src/main/res/values/strings.xml
index 7e8024f..421d4ab 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -114,7 +114,7 @@ GNU Taler is immune against many types of fraud, such as
phishing of credit card
<string name="withdraw_waiting_confirm">Waiting for confirmation</string>
<string name="withdraw_manual_title">Make a manual transfer to the
exchange</string>
<string name="withdraw_amount">How much to withdraw?</string>
- <string name="withdraw_manual_payment_options">Payment options supported
by %s:</string>
+ <string name="withdraw_manual_payment_options">Payment options supported
by %1$s:\n\n%2$s</string>
<string name="withdraw_manual_check_fees">Check fees</string>
<string name="withdraw_error_title">Withdrawal Error</string>
<string name="withdraw_error_message">Withdrawing is currently not
possible. Please try again later!</string>
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.