Просмотр исходного кода

1.优化测评结束提交信息后延时跳转测评报告时没有显示loading框bug

王鹏鹏 2 лет назад
Родитель
Сommit
1c860d6fd8

+ 18 - 23
mmse/src/main/java/com/yingyangfly/mmse/activity/QuestionsActivity.kt

@@ -18,6 +18,10 @@ import com.yingyangfly.baselib.utils.RxBusCodes
 import com.yingyangfly.baselib.utils.RxTimer
 import gorden.rxbus2.Subscribe
 import gorden.rxbus2.ThreadMode
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
 import java.util.*
 
 /**
@@ -77,19 +81,15 @@ class QuestionsActivity : BaseMVVMActivity<ActivityQuestionsBinding, QuestionsVi
             viewModel.submitQuestions(questionsBeans!!, fail = {
                 it.toast()
             }, success = {
-                showLoading()
-                val timer = Timer()
-                timer.schedule(object : TimerTask() {
-                    override fun run() {
-                        dismissLoading()
-                        JumpUtil.jumpActivityWithUrl(
-                            RouterUrlCommon.evaluationResult,
-                            reviewTaskId,
-                            mContext
-                        )
-                        finish()
-                    }
-                }, 2000)
+                GlobalScope.launch(Dispatchers.Main) {
+                    showLoading()
+                    delay(2000)
+                    JumpUtil.jumpActivityWithUrl(
+                        RouterUrlCommon.evaluationResult, reviewTaskId, mContext
+                    )
+                    dismissLoading()
+                    finish()
+                }
             })
         }
     }
@@ -102,12 +102,14 @@ class QuestionsActivity : BaseMVVMActivity<ActivityQuestionsBinding, QuestionsVi
                     v.startAnimation(getScaleAnimation())
                 }
             }
+
             MotionEvent.ACTION_UP -> {
                 v.startAnimation(getEndAnimation())
                 if (v.id == R.id.layoutHead) {
                     showTipsDialog()
                 }
             }
+
             MotionEvent.ACTION_CANCEL -> {
                 if (v.id == R.id.layoutHead) {
                     v.startAnimation(getEndAnimation())
@@ -122,16 +124,9 @@ class QuestionsActivity : BaseMVVMActivity<ActivityQuestionsBinding, QuestionsVi
      * 退出确认弹窗
      */
     private fun showTipsDialog() {
-        TipsDialog.TipDialogBuilder()
-            .title("提示")
-            .content("您确定取消测评?")
-            .leftBtnText("取消")
-            .rightBtnText("确定")
-            .leftClick({
-            }, true)
-            .rightClick({
+        TipsDialog.TipDialogBuilder().title("提示").content("您确定取消测评?").leftBtnText("取消")
+            .rightBtnText("确定").leftClick({}, true).rightClick({
                 finish()
-            }, true)
-            .show(supportFragmentManager)
+            }, true).show(supportFragmentManager)
     }
 }

+ 13 - 13
moca/src/main/java/com/yingyangfly/moca/activity/MocaActivity.kt

@@ -18,6 +18,10 @@ import com.yingyangfly.baselib.utils.RxBusCodes
 import com.yingyangfly.baselib.utils.RxTimer
 import gorden.rxbus2.Subscribe
 import gorden.rxbus2.ThreadMode
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
 import java.util.*
 
 /**
@@ -77,19 +81,15 @@ class MocaActivity : BaseMVVMActivity<ActivityMocaBinding, MocaViewModel>(),
             viewModel.submitQuestions(questionsBeans!!, fail = {
                 it.toast()
             }, success = {
-                showLoading()
-                val timer = Timer()
-                timer.schedule(object : TimerTask() {
-                    override fun run() {
-                        dismissLoading()
-                        JumpUtil.jumpActivityWithUrl(
-                            RouterUrlCommon.evaluationResult,
-                            reviewTaskId,
-                            mContext
-                        )
-                        finish()
-                    }
-                }, 2000)
+                GlobalScope.launch(Dispatchers.Main) {
+                    showLoading()
+                    delay(2000)
+                    JumpUtil.jumpActivityWithUrl(
+                        RouterUrlCommon.evaluationResult, reviewTaskId, mContext
+                    )
+                    dismissLoading()
+                    finish()
+                }
             })
         }
     }