summaryrefslogtreecommitdiff
path: root/app/src/main/java/net/taler/wallet/ReviewExchangeTOS.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/net/taler/wallet/ReviewExchangeTOS.kt')
-rw-r--r--app/src/main/java/net/taler/wallet/ReviewExchangeTOS.kt76
1 files changed, 76 insertions, 0 deletions
diff --git a/app/src/main/java/net/taler/wallet/ReviewExchangeTOS.kt b/app/src/main/java/net/taler/wallet/ReviewExchangeTOS.kt
new file mode 100644
index 0000000..542b855
--- /dev/null
+++ b/app/src/main/java/net/taler/wallet/ReviewExchangeTOS.kt
@@ -0,0 +1,76 @@
+package net.taler.wallet
+
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.Button
+import android.widget.CheckBox
+import android.widget.CompoundButton
+import android.widget.TextView
+import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProviders
+import androidx.navigation.findNavController
+
+/**
+ * A simple [Fragment] subclass.
+ */
+class ReviewExchangeTOS : Fragment() {
+
+ private lateinit var acceptButton: Button
+ private lateinit var model: WalletViewModel
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ model = activity?.run {
+ ViewModelProviders.of(this)[WalletViewModel::class.java]
+ } ?: throw Exception("Invalid Activity")
+ }
+
+ private fun onAcceptCheck(checked: Boolean) {
+ acceptButton.isEnabled = checked
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ val view = inflater.inflate(R.layout.fragment_review_exchange_tos, container, false)
+ val navController = requireActivity().findNavController(R.id.nav_host_fragment)
+ view.findViewById<Button>(R.id.button_tos_abort).setOnClickListener {
+ model.cancelCurrentWithdraw()
+ navController.navigateUp()
+ }
+ acceptButton = view.findViewById<Button>(R.id.button_tos_accept)
+ acceptButton.setOnClickListener {
+ model.acceptCurrentTermsOfService()
+ }
+ val checkbox = view.findViewById<CheckBox>(R.id.checkBox_accept_tos)
+ checkbox.isChecked = false
+ checkbox.setOnCheckedChangeListener { buttonView, isChecked ->
+ onAcceptCheck(isChecked)
+ }
+ onAcceptCheck(false)
+ val tosTextField = view.findViewById<TextView>(R.id.text_tos)
+ model.withdrawStatus.observe(this, Observer {
+ when (it) {
+ is WithdrawStatus.TermsOfServiceReviewRequired -> {
+ tosTextField.text = it.tosText
+ }
+ is WithdrawStatus.Loading -> {
+ navController.navigate(R.id.action_reviewExchangeTOS_to_promptWithdraw)
+ }
+ is WithdrawStatus.ReceivedDetails -> {
+ navController.navigate(R.id.action_reviewExchangeTOS_to_promptWithdraw)
+ }
+ else -> {
+ }
+ }
+ })
+ return view
+ }
+}