summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-06-26 10:34:08 -0300
committerTorsten Grote <t@grobox.de>2020-06-26 10:34:08 -0300
commit730fbaa702b467669c4b88f6c03fa3e1823abf73 (patch)
treeb5ab1c0a07d2763640b1e68fd903e6f100fa5719 /wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt
parent98d693d48ad491b19d89e5d394c2e54a36731728 (diff)
downloadtaler-android-730fbaa702b467669c4b88f6c03fa3e1823abf73.tar.gz
taler-android-730fbaa702b467669c4b88f6c03fa3e1823abf73.tar.bz2
taler-android-730fbaa702b467669c4b88f6c03fa3e1823abf73.zip
[wallet] Move Anastasis UI mockup into its own library module
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt130
1 files changed, 0 insertions, 130 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt b/wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt
deleted file mode 100644
index 4421d46..0000000
--- a/wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * This file is part of GNU Taler
- * (C) 2020 Taler Systems S.A.
- *
- * GNU Taler is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 3, or (at your option) any later version.
- *
- * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
- */
-
-package net.taler.wallet.settings
-
-import android.os.Bundle
-import android.view.Gravity.CENTER
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.Toast
-import android.widget.Toast.LENGTH_SHORT
-import androidx.annotation.IdRes
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.activityViewModels
-import androidx.lifecycle.Observer
-import androidx.navigation.fragment.FragmentNavigatorExtras
-import androidx.navigation.fragment.findNavController
-import com.google.android.material.card.MaterialCardView
-import kotlinx.android.synthetic.main.fragment_anastasis_authentication.*
-import net.taler.common.Amount
-import net.taler.wallet.MainViewModel
-import net.taler.wallet.R
-
-
-class AnastasisAuthenticationFragment : Fragment() {
-
- private val model: MainViewModel by activityViewModels()
- private val anastasisManager by lazy { model.anastasisManager }
-
- private var price: Amount = Amount.zero("KUDOS")
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View? {
- return inflater.inflate(R.layout.fragment_anastasis_authentication, container, false)
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- passwordCard.setOnClickListener {
- showDialog(
- R.id.action_nav_anastasis_authentication_to_securityQuestionFragment,
- passwordCard,
- "question_card"
- )
- }
- postidentCard.setOnClickListener {
- toggleCard(
- postidentCard,
- Amount.fromJSONString("KUDOS:3.5")
- )
- }
- smsCard.setOnClickListener {
- showDialog(
- R.id.action_nav_anastasis_authentication_to_smsFragment,
- smsCard,
- "sms_card"
- )
- }
- videoCard.setOnClickListener {
- showDialog(
- R.id.action_nav_anastasis_authentication_to_videoFragment,
- videoCard,
- "video_card"
- )
- }
-
- anastasisManager.securityQuestionChecked.observe(viewLifecycleOwner, Observer { checked ->
- passwordCard.isChecked = checked
- updatePrice(checked, Amount.fromJSONString("KUDOS:0.5"))
- updateNextButtonState()
- })
- anastasisManager.smsChecked.observe(viewLifecycleOwner, Observer { checked ->
- smsCard.isChecked = checked
- updatePrice(checked, Amount.fromJSONString("KUDOS:1.0"))
- updateNextButtonState()
- })
- anastasisManager.videoChecked.observe(viewLifecycleOwner, Observer { checked ->
- videoCard.isChecked = checked
- updatePrice(checked, Amount.fromJSONString("KUDOS:2.25"))
- updateNextButtonState()
- })
- }
-
- private fun showDialog(@IdRes resId: Int, view: View, transitionName: String) {
- val extras = FragmentNavigatorExtras(view to transitionName)
- findNavController().navigate(resId, null, null, extras)
- }
-
- private fun toggleCard(card: MaterialCardView, price: Amount) {
- card.isChecked = !card.isChecked
- val text = "Imagine you entered information here"
- if (card.isChecked) Toast.makeText(requireContext(), text, LENGTH_SHORT).apply {
- setGravity(CENTER, 0, 0)
- }.show()
- updatePrice(card.isChecked, price)
- updateNextButtonState()
- }
-
- private fun updatePrice(add: Boolean, amount: Amount) {
- if (add) price += amount
- else price -= amount
- recoveryCostView.text = "Recovery cost: $price"
- }
-
- private fun updateNextButtonState() {
- var numChecked = 0
- numChecked += if (passwordCard.isChecked) 1 else 0
- numChecked += if (postidentCard.isChecked) 1 else 0
- numChecked += if (smsCard.isChecked) 1 else 0
- numChecked += if (videoCard.isChecked) 1 else 0
- nextAuthButton.isEnabled = numChecked >= 2
- }
-
-}