diff options
Diffstat (limited to 'cashier/src/main/java/net/taler/cashier/config/ConfigFragment.kt')
-rw-r--r-- | cashier/src/main/java/net/taler/cashier/config/ConfigFragment.kt | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/cashier/src/main/java/net/taler/cashier/config/ConfigFragment.kt b/cashier/src/main/java/net/taler/cashier/config/ConfigFragment.kt index e6ac249..3085bef 100644 --- a/cashier/src/main/java/net/taler/cashier/config/ConfigFragment.kt +++ b/cashier/src/main/java/net/taler/cashier/config/ConfigFragment.kt @@ -37,22 +37,23 @@ import net.taler.cashier.MainViewModel import net.taler.cashier.R import net.taler.cashier.databinding.FragmentConfigBinding import net.taler.common.exhaustive +import net.taler.common.showError -private const val URL_BANK_TEST = "https://bank.test.taler.net" -private const val URL_BANK_TEST_REGISTER = "$URL_BANK_TEST/accounts/register" +private const val URL_BANK_TEST = "https://bank.demo.taler.net" +private const val URL_BANK_TEST_REGISTER = "https://bank.demo.taler.net/webui/#/register" class ConfigFragment : Fragment() { private val viewModel: MainViewModel by activityViewModels() - private val configManager by lazy { viewModel.configManager} + private val configManager by lazy { viewModel.configManager } private lateinit var ui: FragmentConfigBinding override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { + savedInstanceState: Bundle?, + ): View { ui = FragmentConfigBinding.inflate(inflater, container, false) return ui.root } @@ -73,9 +74,9 @@ class ConfigFragment : Fragment() { } ui.saveButton.setOnClickListener { val config = Config( - bankUrl = ui.urlView.editText!!.text.toString(), - username = ui.usernameView.editText!!.text.toString(), - password = ui.passwordView.editText!!.text.toString() + bankUrl = ui.urlView.editText!!.text.toString().trim(), + username = ui.usernameView.editText!!.text.toString().trim(), + password = ui.passwordView.editText!!.text.toString().trim() ) if (checkConfig(config)) { // show progress @@ -110,13 +111,15 @@ class ConfigFragment : Fragment() { override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) // for some reason automatic restore isn't working at the moment!? - outState.putCharSequence("urlView", ui.urlView.editText?.text) - outState.putCharSequence("usernameView", ui.usernameView.editText?.text) - outState.putCharSequence("passwordView", ui.passwordView.editText?.text) + outState.putCharSequence("urlView", ui.urlView.editText?.text?.trim()) + outState.putCharSequence("usernameView", ui.usernameView.editText?.text?.trim()) + outState.putCharSequence("passwordView", ui.passwordView.editText?.text?.trim()) } private fun checkConfig(config: Config): Boolean { - if (!config.bankUrl.startsWith("https://")) { + if (!config.bankUrl.startsWith("https://") && + !config.bankUrl.startsWith("http://") + ) { ui.urlView.error = getString(R.string.config_bank_url_error) ui.urlView.requestFocus() return false @@ -144,8 +147,7 @@ class ConfigFragment : Fragment() { if (result.authError) { Snackbar.make(requireView(), R.string.config_error_auth, LENGTH_LONG).show() } else { - val str = getString(R.string.config_error, result.msg) - Snackbar.make(requireView(), str, LENGTH_LONG).show() + requireActivity().showError(getString(R.string.config_error), result.msg) } } }.exhaustive |