From b13afc751dbbce24753d008f1f87d2c5e133a4ad Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期二, 09 七月 2024 15:19:26 +0800
Subject: [PATCH] fix bug

---
 app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt b/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt
index 7c09c84..1d1f328 100644
--- a/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt
+++ b/app/src/main/java/com/dollearn/student/ui/home/ListenStoryActivity.kt
@@ -10,6 +10,7 @@
 import androidx.fragment.app.FragmentPagerAdapter
 import androidx.viewpager.widget.ViewPager
 import cn.sinata.xldutils.gone
+import cn.sinata.xldutils.visible
 import com.dollearn.student.R
 import com.dollearn.student.dialog.TipDialog
 import com.dollearn.student.network.HttpManager
@@ -41,30 +42,35 @@
 
     override fun initClick() {
         tv_last.setOnClickListener {
-            (fragments[view_pager.currentItem] as RememberFragment).stopVoice()
+            if ((fragments[view_pager.currentItem] as RememberFragment).playing||!(fragments[view_pager.currentItem] as RememberFragment).listened)
+                return@setOnClickListener
             (fragments[view_pager.currentItem-1] as RememberFragment).recover()
             view_pager.setCurrentItem(view_pager.currentItem-1,true)
             if (view_pager.currentItem == 0)
                 tv_last.gone()
             tv_exit.text = "退出"
+            tv_next.visible()
         }
         tv_next.setOnClickListener {
-            (fragments[view_pager.currentItem] as RememberFragment).stopVoice()
+            if ((fragments[view_pager.currentItem] as RememberFragment).playing||!(fragments[view_pager.currentItem] as RememberFragment).listened)
+                return@setOnClickListener
             (fragments[view_pager.currentItem+1] as RememberFragment).recover()
             view_pager.setCurrentItem(view_pager.currentItem+1,true)
             if (view_pager.currentItem == fragments.lastIndex){
                 tv_next.gone()
                 tv_exit.text = "完成"
             }
+            tv_last.visible()
         }
 
         tv_exit.setOnClickListener {
             if (tv_exit.text == "退出")
                 onBackPressed()
             else{
-                (fragments[view_pager.currentItem] as RememberFragment).stopVoice()
+                if ((fragments[view_pager.currentItem] as RememberFragment).playing||!(fragments[view_pager.currentItem] as RememberFragment).listened)
+                   return@setOnClickListener
                 handler?.removeMessages(0)
-                startActivity<RememberFinishActivity>("score" to data!!.data.integral)
+                startActivity<RememberFinishActivity>("score" to data!!.data.integral,"time" to time,"id" to data!!.data.id)
                 finish()
             }
         }
@@ -73,6 +79,10 @@
     override fun initView() {
         data?.apply {
             tv_progress.text = "已完成:1/${storyList.size}"
+            if (storyList.size == 1){
+                tv_next.gone()
+                tv_exit.text = "完成"
+            }
             storyList.forEachIndexed { index, subject ->
                 fragments.add(RememberFragment.getInstance(index))
             }
@@ -120,20 +130,14 @@
         handler?.sendEmptyMessageDelayed(0,1000L)
     }
 
-    private fun recover(){
-        HttpManager.teamSchedule(day,week,3).request(this){_,data->
-            view_pager.setCurrentItem(data?.topicIds?.size?:0,false)
-            totalCount = data?.answerNumber?:0
-            rightCount = data?.correctNumber?:0
-        }
-    }
-
     override fun onBackPressed() {
         val tipDialog = TipDialog()
         tipDialog.arguments = bundleOf("msg" to "未完成全部答题,确认退出吗?")
         tipDialog.setCallback(object :TipDialog.OnClickCallback{
             override fun onOk() {
-                finish()
+                HttpManager.exitGameOrStory(time).request(this@ListenStoryActivity){_,_->
+                    finish()
+                }
             }
 
             override fun onCancel() {

--
Gitblit v1.7.1