gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] branch master updated: [wallet] Implement exchange


From: gnunet
Subject: [taler-taler-android] branch master updated: [wallet] Implement exchange reload
Date: Mon, 15 Apr 2024 21:10:49 +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.

The following commit(s) were added to refs/heads/master by this push:
     new daaf44c  [wallet] Implement exchange reload
daaf44c is described below

commit daaf44c9eb10e8713694f980bde53aeaacfe938f
Author: Iván Ávalos <avalos@disroot.org>
AuthorDate: Fri Apr 12 10:25:22 2024 -0600

    [wallet] Implement exchange reload
    
    bug 0008298
---
 .../java/net/taler/wallet/exchanges/ExchangeAdapter.kt   |  5 +++++
 .../net/taler/wallet/exchanges/ExchangeListFragment.kt   |  4 ++++
 .../java/net/taler/wallet/exchanges/ExchangeManager.kt   | 16 ++++++++++++++++
 wallet/src/main/res/menu/exchange.xml                    |  3 +++
 wallet/src/main/res/values/strings.xml                   |  1 +
 5 files changed, 29 insertions(+)

diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt 
b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt
index cb294ac..674632e 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt
+++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt
@@ -33,6 +33,7 @@ interface ExchangeClickListener {
     fun onExchangeSelected(item: ExchangeItem)
     fun onManualWithdraw(item: ExchangeItem)
     fun onPeerReceive(item: ExchangeItem)
+    fun onExchangeReload(item: ExchangeItem)
     fun onExchangeDelete(item: ExchangeItem)
 }
 
@@ -99,6 +100,10 @@ internal class ExchangeAdapter(
                         listener.onPeerReceive(item)
                         true
                     }
+                    R.id.action_reload -> {
+                        listener.onExchangeReload(item)
+                        true
+                    }
                     R.id.action_delete -> {
                         listener.onExchangeDelete(item)
                         true
diff --git 
a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt 
b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
index 5482b5a..dddf8d8 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
@@ -145,6 +145,10 @@ open class ExchangeListFragment : Fragment(), 
ExchangeClickListener {
         findNavController().navigate(R.id.action_global_receiveFunds)
     }
 
+    override fun onExchangeReload(item: ExchangeItem) {
+        exchangeManager.reload(item.exchangeBaseUrl)
+    }
+
     override fun onExchangeDelete(item: ExchangeItem) {
         val optionsArray = arrayOf(getString(R.string.exchange_delete_force))
         val checkedArray = BooleanArray(1) { false }
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 eb01cab..5b688dc 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
@@ -95,6 +95,22 @@ class ExchangeManager(
         }
     }
 
+    fun reload(exchangeUrl: String, force: Boolean = true) = scope.launch {
+        mProgress.value = true
+        api.request<Unit>("updateExchangeEntry") {
+            put("exchangeBaseUrl", exchangeUrl)
+            put("force", force)
+        }.onError {
+            Log.e(TAG, "Error reloading exchange: $it")
+            mProgress.value = false
+            mAddError.value = it.toEvent()
+        }.onSuccess {
+            mProgress.value = false
+            Log.d(TAG, "Exchange $exchangeUrl reloaded")
+            list()
+        }
+    }
+
     fun delete(exchangeUrl: String, purge: Boolean = false) = scope.launch {
         mProgress.value = true
         api.request<Unit>("deleteExchange") {
diff --git a/wallet/src/main/res/menu/exchange.xml 
b/wallet/src/main/res/menu/exchange.xml
index 1d2c2e5..d99ff00 100644
--- a/wallet/src/main/res/menu/exchange.xml
+++ b/wallet/src/main/res/menu/exchange.xml
@@ -21,6 +21,9 @@
     <item
         android:id="@+id/action_receive_peer"
         android:title="@string/receive_peer" />
+    <item
+        android:id="@+id/action_reload"
+        android:title="@string/exchange_reload" />
     <item
         android:id="@+id/action_delete"
         android:title="@string/transactions_delete" />
diff --git a/wallet/src/main/res/values/strings.xml 
b/wallet/src/main/res/values/strings.xml
index ffe175a..8466e2d 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -244,6 +244,7 @@ GNU Taler is immune against many types of fraud, such as 
phishing of credit card
     <string name="exchange_delete">Delete exchange</string>
     <string name="exchange_delete_force">Force deletion (purge)</string>
     <string name="exchange_dialog_delete_message">Are you sure you want to 
delete this exchange? Forcing this operation will result in a loss of 
funds.</string>
+    <string name="exchange_reload">Reload information</string>
     <string name="exchange_not_contacted">Exchange not contacted</string>
     <string name="exchange_add_url">Enter address of exchange</string>
     <string name="exchange_add_error">Could not add exchange</string>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]