2019-12-23 11:16:00 -08:00
|
|
|
package cash.z.ecc.android.ui.send
|
|
|
|
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
import android.view.View
|
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
|
import cash.z.ecc.android.R
|
|
|
|
import cash.z.ecc.android.databinding.FragmentSendConfirmBinding
|
2020-01-08 00:42:49 -08:00
|
|
|
import cash.z.ecc.android.di.viewmodel.activityViewModel
|
2019-12-23 11:16:00 -08:00
|
|
|
import cash.z.ecc.android.ext.goneIf
|
2020-01-09 08:00:20 -08:00
|
|
|
import cash.z.ecc.android.ext.onClickNavTo
|
2020-02-21 15:52:57 -08:00
|
|
|
import cash.z.ecc.android.feedback.Report
|
|
|
|
import cash.z.ecc.android.feedback.Report.Funnel.Send
|
|
|
|
import cash.z.ecc.android.feedback.Report.Tap.*
|
2019-12-23 11:16:00 -08:00
|
|
|
import cash.z.ecc.android.ui.base.BaseFragment
|
2020-06-10 04:49:38 -07:00
|
|
|
import cash.z.ecc.android.sdk.ext.toAbbreviatedAddress
|
|
|
|
import cash.z.ecc.android.sdk.ext.convertZatoshiToZecString
|
2019-12-23 11:16:00 -08:00
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
|
|
|
|
class SendConfirmFragment : BaseFragment<FragmentSendConfirmBinding>() {
|
2020-02-21 15:52:57 -08:00
|
|
|
override val screen = Report.Screen.SEND_CONFIRM
|
2020-01-05 21:01:06 -08:00
|
|
|
|
2020-01-08 00:42:49 -08:00
|
|
|
val sendViewModel: SendViewModel by activityViewModel()
|
2020-01-05 21:01:06 -08:00
|
|
|
|
2019-12-23 11:16:00 -08:00
|
|
|
override fun inflate(inflater: LayoutInflater): FragmentSendConfirmBinding =
|
|
|
|
FragmentSendConfirmBinding.inflate(inflater)
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
super.onViewCreated(view, savedInstanceState)
|
2020-01-05 21:01:06 -08:00
|
|
|
binding.buttonNext.setOnClickListener {
|
2020-02-21 15:52:57 -08:00
|
|
|
onSend().also { tapped(SEND_CONFIRM_NEXT) }
|
2020-01-05 21:01:06 -08:00
|
|
|
}
|
2020-01-09 08:00:20 -08:00
|
|
|
R.id.action_nav_send_confirm_to_nav_send_memo.let {
|
2020-02-21 15:52:57 -08:00
|
|
|
binding.backButtonHitArea.onClickNavTo(it) { tapped(SEND_CONFIRM_BACK) }
|
|
|
|
onBackPressNavTo(it) { tapped(SEND_CONFIRM_BACK) }
|
2020-01-09 08:00:20 -08:00
|
|
|
}
|
2020-01-05 21:01:06 -08:00
|
|
|
mainActivity?.lifecycleScope?.launch {
|
|
|
|
binding.textConfirmation.text =
|
2020-01-09 08:00:20 -08:00
|
|
|
"Send ${sendViewModel.zatoshiAmount.convertZatoshiToZecString(8)} ZEC to ${sendViewModel?.toAddress.toAbbreviatedAddress()}?"
|
2020-01-05 21:01:06 -08:00
|
|
|
}
|
|
|
|
sendViewModel.memo.trim().isNotEmpty().let { hasMemo ->
|
2020-01-09 09:58:57 -08:00
|
|
|
binding.radioIncludeAddress.isChecked = hasMemo || sendViewModel.includeFromAddress
|
|
|
|
binding.radioIncludeAddress.goneIf(!(hasMemo || sendViewModel.includeFromAddress))
|
2019-12-23 11:16:00 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private fun onSend() {
|
2020-02-21 15:52:57 -08:00
|
|
|
sendViewModel.funnel(Send.ConfirmPageComplete)
|
2020-02-12 04:58:41 -08:00
|
|
|
mainActivity?.safeNavigate(R.id.action_nav_send_confirm_to_send_final)
|
2019-12-23 11:16:00 -08:00
|
|
|
}
|
2020-01-05 21:01:06 -08:00
|
|
|
}
|