diff options
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt | 14 | ||||
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt (renamed from wallet/src/main/java/net/taler/wallet/exchanges/ManualWithdrawFragment.kt) | 12 | ||||
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt | 16 | ||||
-rw-r--r-- | wallet/src/main/res/navigation/nav_graph.xml | 2 | ||||
-rw-r--r-- | 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 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> |