summaryrefslogtreecommitdiff
path: root/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt')
-rw-r--r--merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt61
1 files changed, 32 insertions, 29 deletions
diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt
index daddbff..c31eb61 100644
--- a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt
+++ b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt
@@ -30,11 +30,11 @@ import androidx.fragment.app.activityViewModels
import androidx.lifecycle.Observer
import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
import com.google.android.material.snackbar.Snackbar
-import kotlinx.android.synthetic.main.fragment_merchant_config.*
import net.taler.common.navigate
import net.taler.merchantpos.MainViewModel
import net.taler.merchantpos.R
import net.taler.merchantpos.config.ConfigFragmentDirections.Companion.actionSettingsToOrder
+import net.taler.merchantpos.databinding.FragmentMerchantConfigBinding
import net.taler.merchantpos.topSnackbar
/**
@@ -45,86 +45,89 @@ class ConfigFragment : Fragment() {
private val model: MainViewModel by activityViewModels()
private val configManager by lazy { model.configManager }
+ private lateinit var ui: FragmentMerchantConfigBinding
+
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
- return inflater.inflate(R.layout.fragment_merchant_config, container, false)
+ ui = FragmentMerchantConfigBinding.inflate(inflater, container, false)
+ return ui.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- configUrlView.editText!!.setOnFocusChangeListener { _, hasFocus ->
+ ui.configUrlView.editText!!.setOnFocusChangeListener { _, hasFocus ->
if (!hasFocus) checkForUrlCredentials()
}
- okButton.setOnClickListener {
+ ui.okButton.setOnClickListener {
checkForUrlCredentials()
- val inputUrl = configUrlView.editText!!.text
+ val inputUrl = ui.configUrlView.editText!!.text
val url = if (inputUrl.startsWith("http")) {
inputUrl.toString()
} else {
- "https://$inputUrl".also { configUrlView.editText!!.setText(it) }
+ "https://$inputUrl".also { ui.configUrlView.editText!!.setText(it) }
}
- progressBar.visibility = VISIBLE
- okButton.visibility = INVISIBLE
+ ui.progressBar.visibility = VISIBLE
+ ui.okButton.visibility = INVISIBLE
val config = Config(
configUrl = url,
- username = usernameView.editText!!.text.toString(),
- password = passwordView.editText!!.text.toString()
+ username = ui.usernameView.editText!!.text.toString(),
+ password = ui.passwordView.editText!!.text.toString()
)
- configManager.fetchConfig(config, true, savePasswordCheckBox.isChecked)
+ configManager.fetchConfig(config, true, ui.savePasswordCheckBox.isChecked)
configManager.configUpdateResult.observe(viewLifecycleOwner, Observer { result ->
if (onConfigUpdate(result)) {
configManager.configUpdateResult.removeObservers(viewLifecycleOwner)
}
})
}
- forgetPasswordButton.setOnClickListener {
+ ui.forgetPasswordButton.setOnClickListener {
configManager.forgetPassword()
- passwordView.editText!!.text = null
- forgetPasswordButton.visibility = GONE
+ ui.passwordView.editText!!.text = null
+ ui.forgetPasswordButton.visibility = GONE
}
- configDocsView.movementMethod = LinkMovementMethod.getInstance()
+ ui.configDocsView.movementMethod = LinkMovementMethod.getInstance()
updateView(savedInstanceState == null)
}
override fun onStart() {
super.onStart()
// focus password if this is the only empty field
- if (passwordView.editText!!.text.isBlank()
- && !configUrlView.editText!!.text.isBlank()
- && !usernameView.editText!!.text.isBlank()
+ if (ui.passwordView.editText!!.text.isBlank()
+ && !ui.configUrlView.editText!!.text.isBlank()
+ && !ui.usernameView.editText!!.text.isBlank()
) {
- passwordView.requestFocus()
+ ui.passwordView.requestFocus()
}
}
private fun updateView(isInitialization: Boolean = false) {
val config = configManager.config
- configUrlView.editText!!.setText(
+ ui.configUrlView.editText!!.setText(
if (isInitialization && config.configUrl.isBlank()) CONFIG_URL_DEMO
else config.configUrl
)
- usernameView.editText!!.setText(
+ ui.usernameView.editText!!.setText(
if (isInitialization && config.username.isBlank()) CONFIG_USERNAME_DEMO
else config.username
)
- passwordView.editText!!.setText(
+ ui.passwordView.editText!!.setText(
if (isInitialization && config.password.isBlank()) CONFIG_PASSWORD_DEMO
else config.password
)
- forgetPasswordButton.visibility = if (config.hasPassword()) VISIBLE else GONE
+ ui.forgetPasswordButton.visibility = if (config.hasPassword()) VISIBLE else GONE
}
private fun checkForUrlCredentials() {
- val text = configUrlView.editText!!.text.toString()
+ val text = ui.configUrlView.editText!!.text.toString()
Uri.parse(text)?.userInfo?.let { userInfo ->
if (userInfo.contains(':')) {
val (user, pass) = userInfo.split(':')
val strippedUrl = text.replace("${userInfo}@", "")
- configUrlView.editText!!.setText(strippedUrl)
- usernameView.editText!!.setText(user)
- passwordView.editText!!.setText(pass)
+ ui.configUrlView.editText!!.setText(strippedUrl)
+ ui.usernameView.editText!!.setText(user)
+ ui.passwordView.editText!!.setText(pass)
}
}
}
@@ -157,8 +160,8 @@ class ConfigFragment : Fragment() {
}
private fun onResultReceived() {
- progressBar.visibility = INVISIBLE
- okButton.visibility = VISIBLE
+ ui.progressBar.visibility = INVISIBLE
+ ui.okButton.visibility = VISIBLE
}
}