diff options
author | Torsten Grote <t@grobox.de> | 2020-06-22 14:58:18 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-06-22 14:58:47 -0300 |
commit | 98d693d48ad491b19d89e5d394c2e54a36731728 (patch) | |
tree | 7d99fd01c6d681abd6314cfb0b202c436690d0c2 /wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt | |
parent | a9b2ec4f35851c26bbe4f62a2e7fa17d9ee79576 (diff) | |
download | taler-android-98d693d48ad491b19d89e5d394c2e54a36731728.tar.gz taler-android-98d693d48ad491b19d89e5d394c2e54a36731728.tar.bz2 taler-android-98d693d48ad491b19d89e5d394c2e54a36731728.zip |
[wallet] Improve Anastasis UI mockup
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.kt | 47 |
1 files changed, 43 insertions, 4 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 index 96b0928..4421d46 100644 --- a/wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt @@ -23,8 +23,12 @@ 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 @@ -35,6 +39,7 @@ 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") @@ -48,9 +53,10 @@ class AnastasisAuthenticationFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) passwordCard.setOnClickListener { - toggleCard( + showDialog( + R.id.action_nav_anastasis_authentication_to_securityQuestionFragment, passwordCard, - Amount.fromJSONString("KUDOS:0.5") + "question_card" ) } postidentCard.setOnClickListener { @@ -59,8 +65,41 @@ class AnastasisAuthenticationFragment : Fragment() { Amount.fromJSONString("KUDOS:3.5") ) } - smsCard.setOnClickListener { toggleCard(smsCard, Amount.fromJSONString("KUDOS:1.0")) } - videoCard.setOnClickListener { toggleCard(videoCard, Amount.fromJSONString("KUDOS:2.25")) } + 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) { |