gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] branch master updated (44496bc -> 85a3a53)


From: gnunet
Subject: [taler-taler-android] branch master updated (44496bc -> 85a3a53)
Date: Tue, 13 Oct 2020 15:14:48 +0200

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 44496bc  [wallet] Enable manual withdrawal (without payto:// 
parsing/display)
     new e9aae97  [wallet] expose error message when withdrawing TESTKUDOS fails
     new 85a3a53  [cashier] prevent crash while main fragment is on back-stack

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:
 cashier/src/main/java/net/taler/cashier/BalanceFragment.kt |  7 ++++---
 wallet/src/main/java/net/taler/wallet/MainViewModel.kt     |  2 +-
 .../java/net/taler/wallet/settings/SettingsFragment.kt     | 10 +++++++++-
 .../main/java/net/taler/wallet/withdraw/WithdrawManager.kt | 14 ++++++++++----
 wallet/src/main/res/values/strings.xml                     |  1 +
 5 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt 
b/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt
index 1328484..002301c 100644
--- a/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt
+++ b/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt
@@ -53,7 +53,7 @@ class BalanceFragment : Fragment() {
 
     override fun onCreateView(
         inflater: LayoutInflater, container: ViewGroup?,
-        savedInstanceState: Bundle?
+        savedInstanceState: Bundle?,
     ): View? {
         setHasOptionsMenu(true)
         ui = FragmentBalanceBinding.inflate(layoutInflater, container, false)
@@ -97,8 +97,9 @@ class BalanceFragment : Fragment() {
 
     override fun onSaveInstanceState(outState: Bundle) {
         super.onSaveInstanceState(outState)
-        // for some reason automatic restore isn't working at the moment!?
-        ui.amountView.editText?.text.let {
+        // automatic restore isn't working, maybe because of the different 
layout in landscape mode
+        // the ui won't be available after onDestroyView()
+        if (view != null) ui.amountView.editText?.text.let {
             outState.putCharSequence("amountView", it)
         }
     }
diff --git a/wallet/src/main/java/net/taler/wallet/MainViewModel.kt 
b/wallet/src/main/java/net/taler/wallet/MainViewModel.kt
index 9e49f54..7bb6ad9 100644
--- a/wallet/src/main/java/net/taler/wallet/MainViewModel.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainViewModel.kt
@@ -132,7 +132,7 @@ class MainViewModel(val app: Application) : 
AndroidViewModel(app) {
     @UiThread
     fun dangerouslyReset() {
         api.sendRequest("reset")
-        withdrawManager.testWithdrawalInProgress.value = false
+        withdrawManager.testWithdrawalStatus.value = null
         mBalances.value = emptyList()
     }
 
diff --git a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt 
b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
index d2f30aa..bd6ce1a 100644
--- a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
@@ -25,6 +25,7 @@ import androidx.preference.PreferenceFragmentCompat
 import androidx.preference.SwitchPreferenceCompat
 import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT
 import com.google.android.material.snackbar.Snackbar
+import net.taler.common.showError
 import net.taler.common.showLogViewer
 import net.taler.common.toRelativeTime
 import net.taler.wallet.BuildConfig.FLAVOR
@@ -33,6 +34,7 @@ import net.taler.wallet.BuildConfig.VERSION_NAME
 import net.taler.wallet.BuildConfig.WALLET_CORE_VERSION
 import net.taler.wallet.MainViewModel
 import net.taler.wallet.R
+import net.taler.wallet.withdraw.WithdrawTestStatus
 
 
 class SettingsFragment : PreferenceFragmentCompat() {
@@ -98,9 +100,15 @@ class SettingsFragment : PreferenceFragmentCompat() {
             true
         }
 
-        withdrawManager.testWithdrawalInProgress.observe(viewLifecycleOwner, { 
loading ->
+        withdrawManager.testWithdrawalStatus.observe(viewLifecycleOwner, { 
status ->
+            if (status == null) return@observe
+            val loading = status is WithdrawTestStatus.Withdrawing
             prefWithdrawTest.isEnabled = !loading
             model.showProgressBar.value = loading
+            if (status is WithdrawTestStatus.Error) {
+                requireActivity().showError(R.string.withdraw_error_test, 
status.message)
+            }
+            withdrawManager.testWithdrawalStatus.value = null
         })
         prefWithdrawTest.setOnPreferenceClickListener {
             withdrawManager.withdrawTestkudos()
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 5e11c04..5afb125 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
@@ -59,6 +59,12 @@ sealed class WithdrawStatus {
     data class Error(val message: String?) : WithdrawStatus()
 }
 
+sealed class WithdrawTestStatus {
+    object Withdrawing : WithdrawTestStatus()
+    object Success : WithdrawTestStatus()
+    data class Error(val message: String) : WithdrawTestStatus()
+}
+
 @Serializable
 data class WithdrawalDetailsForUri(
     val amount: Amount,
@@ -84,7 +90,7 @@ class WithdrawManager(
 ) {
 
     val withdrawStatus = MutableLiveData<WithdrawStatus>()
-    val testWithdrawalInProgress = MutableLiveData(false)
+    val testWithdrawalStatus = MutableLiveData<WithdrawTestStatus>()
 
     private val _exchangeSelection = 
MutableLiveData<Event<ExchangeSelection>>()
     val exchangeSelection: LiveData<Event<ExchangeSelection>> = 
_exchangeSelection
@@ -92,11 +98,11 @@ class WithdrawManager(
         private set
 
     fun withdrawTestkudos() = scope.launch {
-        testWithdrawalInProgress.value = true
+        testWithdrawalStatus.value = WithdrawTestStatus.Withdrawing
         api.request<Unit>("withdrawTestkudos").onError {
-            testWithdrawalInProgress.postValue(false)
+            testWithdrawalStatus.value = 
WithdrawTestStatus.Error(it.userFacingMsg)
         }.onSuccess {
-            testWithdrawalInProgress.postValue(false)
+            testWithdrawalStatus.value = WithdrawTestStatus.Success
         }
     }
 
diff --git a/wallet/src/main/res/values/strings.xml 
b/wallet/src/main/res/values/strings.xml
index 2e32c88..2fad06a 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -120,6 +120,7 @@ GNU Taler is immune against many types of fraud, such as 
phishing of credit card
     <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>
+    <string name="withdraw_error_test">Error withdrawing TESTKUDOS</string>
 
     <string name="exchange_settings_title">Exchanges</string>
     <string name="exchange_settings_summary">Manage list of exchanges known to 
this wallet</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]