MocaActivity.kt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.yingyangfly.moca.activity
  2. import android.text.TextUtils
  3. import com.alibaba.android.arouter.facade.annotation.Route
  4. import com.yingyang.moca.databinding.ActivityMocaBinding
  5. import com.yingyangfly.baselib.base.BaseActivity
  6. import com.yingyangfly.baselib.ext.setOnSingleClickListener
  7. import com.yingyangfly.baselib.ext.toast
  8. import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
  9. import com.yingyangfly.baselib.router.RouterUrlCommon
  10. import com.yingyangfly.baselib.utils.LiveEventBusUtil
  11. import com.yingyangfly.baselib.utils.RxBusCodes
  12. import com.yingyangfly.baselib.utils.RxTimer
  13. import gorden.rxbus2.RxBus
  14. import gorden.rxbus2.Subscribe
  15. import gorden.rxbus2.ThreadMode
  16. /**
  17. * moca试题库
  18. */
  19. @Route(path = RouterUrlCommon.mocaEvaluation)
  20. class MocaActivity : BaseMVVMActivity<ActivityMocaBinding, MocaViewModel>() {
  21. lateinit var rxTimer: RxTimer
  22. var time: Long = 0
  23. override fun initViews() {
  24. rxTimer = RxTimer()
  25. }
  26. override fun initListener() {
  27. binding.layoutHead.setOnSingleClickListener {
  28. finish()
  29. }
  30. }
  31. override fun initData() {
  32. val m: Long = 1000
  33. rxTimer.interval(m) {
  34. time = it + 1
  35. val minutes = time / 60
  36. val seconds = time % 60
  37. binding.tvTimes.text = if (minutes > 0) {
  38. minutes.toString() + "分" + seconds.toString() + "秒"
  39. } else {
  40. seconds.toString() + "秒"
  41. }
  42. }
  43. }
  44. /**
  45. * 结束答题
  46. */
  47. @Subscribe(code = RxBusCodes.EndMOCAQuestion, threadMode = ThreadMode.MAIN)
  48. fun loadData() {
  49. if (dao != null) {
  50. val questionsBeans = dao?.getAllQuestions()
  51. if (questionsBeans.isNullOrEmpty().not()) {
  52. questionsBeans?.forEach {
  53. it.usedTime = time.toString()
  54. it.reviewId = it.id
  55. if (TextUtils.equals("0", it.correct)) {
  56. it.score = "0"
  57. } else {
  58. it.score = it.reviewScore
  59. }
  60. }
  61. }
  62. viewModel.submitQuestions(questionsBeans!!, fail = {
  63. it.toast()
  64. }, success = {
  65. "提交成功".toast()
  66. RxBus.get().send(RxBusCodes.EndMOCAQuestion)
  67. })
  68. }
  69. }
  70. }