summaryrefslogtreecommitdiff
path: root/merchant-terminal/src/main/java/net/taler/merchantpos/config
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-09-03 10:01:11 -0300
committerTorsten Grote <t@grobox.de>2020-09-03 10:41:20 -0300
commit126b0710dda4546dc3337df1bee886f5f4657674 (patch)
tree4b0ff37cf85805f4602cb92a47d3984282cdf384 /merchant-terminal/src/main/java/net/taler/merchantpos/config
parent74b139473b395371ee487b9595627adcb85e78e9 (diff)
downloadtaler-android-126b0710dda4546dc3337df1bee886f5f4657674.tar.gz
taler-android-126b0710dda4546dc3337df1bee886f5f4657674.tar.bz2
taler-android-126b0710dda4546dc3337df1bee886f5f4657674.zip
[pos] migrate to view binding
Diffstat (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/config')
-rw-r--r--merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFetcherFragment.kt7
-rw-r--r--merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFragment.kt61
2 files changed, 37 insertions, 31 deletions
diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFetcherFragment.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFetcherFragment.kt
index 8231052..87004d8 100644
--- a/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFetcherFragment.kt
+++ b/merchant-terminal/src/main/java/net/taler/merchantpos/config/ConfigFetcherFragment.kt
@@ -27,20 +27,23 @@ import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT
import com.google.android.material.snackbar.Snackbar
import net.taler.common.navigate
import net.taler.merchantpos.MainViewModel
-import net.taler.merchantpos.R
import net.taler.merchantpos.config.ConfigFetcherFragmentDirections.Companion.actionConfigFetcherToMerchantSettings
import net.taler.merchantpos.config.ConfigFetcherFragmentDirections.Companion.actionConfigFetcherToOrder
+import net.taler.merchantpos.databinding.FragmentConfigFetcherBinding
class ConfigFetcherFragment : Fragment() {
private val model: MainViewModel by activityViewModels()
private val configManager by lazy { model.configManager }
+ private lateinit var ui: FragmentConfigFetcherBinding
+
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
- return inflater.inflate(R.layout.fragment_config_fetcher, container, false)
+ ui = FragmentConfigFetcherBinding.inflate(inflater)
+ return ui.root
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
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
}
}