summaryrefslogtreecommitdiff
path: root/cashier/src/main/java/net/taler/cashier/ConfigFragment.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-04-22 15:10:08 -0300
committerTorsten Grote <t@grobox.de>2020-04-22 15:10:08 -0300
commitd57645954dda2d478fe09dd0135183e1b3526db0 (patch)
tree3149d52c2b020844fe9031ee8b5a69cdece6e0a3 /cashier/src/main/java/net/taler/cashier/ConfigFragment.kt
parentf920fa7fa12db5d6fd40844ffb8402426d0a2b07 (diff)
downloadtaler-android-d57645954dda2d478fe09dd0135183e1b3526db0.tar.gz
taler-android-d57645954dda2d478fe09dd0135183e1b3526db0.tar.bz2
taler-android-d57645954dda2d478fe09dd0135183e1b3526db0.zip
[cashier] expose internal error messages to UI
Diffstat (limited to 'cashier/src/main/java/net/taler/cashier/ConfigFragment.kt')
-rw-r--r--cashier/src/main/java/net/taler/cashier/ConfigFragment.kt22
1 files changed, 15 insertions, 7 deletions
diff --git a/cashier/src/main/java/net/taler/cashier/ConfigFragment.kt b/cashier/src/main/java/net/taler/cashier/ConfigFragment.kt
index ccbb1a6..f435883 100644
--- a/cashier/src/main/java/net/taler/cashier/ConfigFragment.kt
+++ b/cashier/src/main/java/net/taler/cashier/ConfigFragment.kt
@@ -34,6 +34,7 @@ import androidx.navigation.fragment.findNavController
import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.fragment_config.*
+import net.taler.common.exhaustive
private const val URL_BANK_TEST = "https://bank.test.taler.net"
private const val URL_BANK_TEST_REGISTER = "$URL_BANK_TEST/accounts/register"
@@ -125,13 +126,20 @@ class ConfigFragment : Fragment() {
private val onConfigResult = Observer<ConfigResult> { result ->
if (result == null) return@Observer
- if (result.success) {
- val action = ConfigFragmentDirections.actionConfigFragmentToBalanceFragment()
- findNavController().navigate(action)
- } else {
- val res = if (result.authError) R.string.config_error_auth else R.string.config_error
- Snackbar.make(view!!, res, LENGTH_LONG).show()
- }
+ when (result) {
+ is ConfigResult.Success -> {
+ val action = ConfigFragmentDirections.actionConfigFragmentToBalanceFragment()
+ findNavController().navigate(action)
+ }
+ is ConfigResult.Error -> {
+ if (result.authError) {
+ Snackbar.make(view!!, R.string.config_error_auth, LENGTH_LONG).show()
+ } else {
+ val str = getString(R.string.config_error, result.msg)
+ Snackbar.make(view!!, str, LENGTH_LONG).show()
+ }
+ }
+ }.exhaustive
saveButton.visibility = VISIBLE
progressBar.visibility = INVISIBLE
viewModel.configResult.removeObservers(viewLifecycleOwner)