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-22 14:58:18 -0300
committerTorsten Grote <t@grobox.de>2020-06-22 14:58:47 -0300
commit98d693d48ad491b19d89e5d394c2e54a36731728 (patch)
tree7d99fd01c6d681abd6314cfb0b202c436690d0c2 /wallet/src/main/java/net/taler/wallet/settings/AnastasisAuthenticationFragment.kt
parenta9b2ec4f35851c26bbe4f62a2e7fa17d9ee79576 (diff)
downloadtaler-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.kt47
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) {