diff options
author | Torsten Grote <t@grobox.de> | 2020-04-22 15:10:08 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-04-22 15:10:08 -0300 |
commit | d57645954dda2d478fe09dd0135183e1b3526db0 (patch) | |
tree | 3149d52c2b020844fe9031ee8b5a69cdece6e0a3 /cashier/src/main/java/net/taler/cashier/ConfigFragment.kt | |
parent | f920fa7fa12db5d6fd40844ffb8402426d0a2b07 (diff) | |
download | taler-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.kt | 22 |
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) |