gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] branch master updated (034d787 -> bdd47e0)


From: gnunet
Subject: [taler-taler-android] branch master updated (034d787 -> bdd47e0)
Date: Wed, 03 Jan 2024 21:44:20 +0100

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a change to branch master
in repository taler-android.

    from 034d787  Upgrade libraries
     new 1598fae  [wallet] Add option to add all known dev exchanges
     new bdd47e0  [wallet] Inform user when sending isn't working due to 
insufficient balance

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/java/net/taler/wallet/SendFundsFragment.kt  |  6 +++++-
 .../taler/wallet/exchanges/ExchangeListFragment.kt   | 20 ++++++++++++++++++++
 .../net/taler/wallet/exchanges/ExchangeManager.kt    | 17 +++++++++++++++++
 .../{pending_operations.xml => exchange_list.xml}    |  9 +++++----
 wallet/src/main/res/values/strings.xml               |  1 +
 5 files changed, 48 insertions(+), 5 deletions(-)
 copy wallet/src/main/res/menu/{pending_operations.xml => exchange_list.xml} 
(84%)

diff --git a/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt 
b/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt
index a0a0c6f..09d33e2 100644
--- a/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt
@@ -118,13 +118,17 @@ private fun SendFundsIntro(
                 value = text,
                 onValueChange = { input ->
                     isError = false
+                    insufficientBalance = false
                     text = input
                 },
                 label = { Text(stringResource(R.string.send_amount)) },
                 supportingText = {
                     if (isError) 
Text(stringResource(R.string.receive_amount_invalid))
+                    else if (insufficientBalance) {
+                        
Text(stringResource(R.string.payment_balance_insufficient))
+                    }
                 },
-                isError = isError,
+                isError = isError || insufficientBalance,
             )
             Text(
                 modifier = Modifier,
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 439ec2f..c622d65 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt
@@ -18,12 +18,17 @@ package net.taler.wallet.exchanges
 
 import android.os.Bundle
 import android.view.LayoutInflater
+import android.view.Menu
+import android.view.MenuInflater
+import android.view.MenuItem
 import android.view.View
 import android.view.ViewGroup
 import android.widget.Toast
 import android.widget.Toast.LENGTH_LONG
+import androidx.core.view.MenuProvider
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
+import androidx.lifecycle.Lifecycle.State.RESUMED
 import androidx.navigation.fragment.findNavController
 import androidx.recyclerview.widget.DividerItemDecoration
 import androidx.recyclerview.widget.LinearLayoutManager.VERTICAL
@@ -55,6 +60,21 @@ open class ExchangeListFragment : Fragment(), 
ExchangeClickListener {
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        requireActivity().addMenuProvider(object : MenuProvider {
+            override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
+                if (model.devMode.value == true) {
+                    menuInflater.inflate(R.menu.exchange_list, menu)
+                }
+            }
+
+            override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
+                if (menuItem.itemId == R.id.action_add_dev_exchanges) {
+                    exchangeManager.addDevExchanges()
+                }
+                return true
+            }
+        }, viewLifecycleOwner, RESUMED)
+
         ui.list.apply {
             adapter = exchangeAdapter
             addItemDecoration(DividerItemDecoration(context, VERTICAL))
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 65f5c5c..2048b7c 100644
--- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt
@@ -21,6 +21,7 @@ import androidx.annotation.WorkerThread
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.launch
@@ -103,4 +104,20 @@ class ExchangeManager(
         return exchange
     }
 
+    fun addDevExchanges() {
+        scope.launch {
+            listOf(
+                "https://exchange.demo.taler.net/";,
+                "https://exchange.test.taler.net/";,
+                "https://exchange.head.taler.net/";,
+                "https://exchange.taler.ar/";,
+                "https://exchange.taler.fdold.eu/";,
+                "https://exchange.taler.grothoff.org/";,
+            ).forEach { exchangeUrl ->
+                add(exchangeUrl)
+                delay(100)
+            }
+        }
+    }
+
 }
diff --git a/wallet/src/main/res/menu/pending_operations.xml 
b/wallet/src/main/res/menu/exchange_list.xml
similarity index 84%
copy from wallet/src/main/res/menu/pending_operations.xml
copy to wallet/src/main/res/menu/exchange_list.xml
index b632021..21c028d 100644
--- a/wallet/src/main/res/menu/pending_operations.xml
+++ b/wallet/src/main/res/menu/exchange_list.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?><!--
   ~ This file is part of GNU Taler
-  ~ (C) 2020 Taler Systems S.A.
+  ~ (C) 2024 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
@@ -16,9 +16,10 @@
 
 <menu xmlns:android="http://schemas.android.com/apk/res/android";
     xmlns:app="http://schemas.android.com/apk/res-auto";>
+
     <item
-        android:id="@+id/retry_pending"
-        android:orderInCategory="100"
-        android:title="@string/menu_retry_pending_operations"
+        android:id="@+id/action_add_dev_exchanges"
+        android:title="@string/exchange_list_add_dev"
         app:showAsAction="never" />
+
 </menu>
diff --git a/wallet/src/main/res/values/strings.xml 
b/wallet/src/main/res/values/strings.xml
index 058c30b..731b03a 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -227,6 +227,7 @@ GNU Taler is immune against many types of fraud, such as 
phishing of credit card
     <string name="exchange_add_url">Enter address of exchange</string>
     <string name="exchange_add_error">Could not add exchange</string>
     <string name="exchange_list_error">Could not list exchanges</string>
+    <string name="exchange_list_add_dev">Add development exchanges</string>
     <string name="exchange_menu_manual_withdraw">Withdraw</string>
 
     <string name="exchange_fee_withdrawal_fee_label">Withdrawal Fee:</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]