lmw
2024-08-01 a036ac0c6c8d87f36e68f88f05231c3be23fcc4b
app/src/main/java/com/dollearn/student/ui/home/ChooseVoiceActivity.kt
@@ -17,8 +17,10 @@
import com.dollearn.student.network.entity.SubjectBean
import com.dollearn.student.network.request
import com.dollearn.student.ui.TransparentStatusBarActivity
import com.dollearn.student.utils.Const
import com.dollearn.student.utils.event.EmptyEvent
import kotlinx.android.synthetic.main.activity_listen.*
import org.jetbrains.anko.startActivity
import org.greenrobot.eventbus.EventBus
class ChooseVoiceActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_listen
@@ -56,12 +58,15 @@
    fun next(){
        if (view_pager.currentItem == fragments.lastIndex){
            handler?.removeMessages(0)
            ResultActivity.startResult(this,day,week,season,1,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
            ResultActivity.startResult(this,day,week,season,2,totalCount,rightCount,data!!.data.integral,time,data!!.data.id)
            finish()
        }else{
            (fragments[view_pager.currentItem+1] as ChooseVoiceFragment).recover()
            view_pager.setCurrentItem(view_pager.currentItem+1,true)
            tv_last.visible()
                if (data!!.subjectList[view_pager.currentItem].filter { it.completed }.size == 4){  //防止多次调用触发
                    (fragments[view_pager.currentItem+1] as ChooseVoiceFragment).recover()
                    view_pager.setCurrentItem(view_pager.currentItem+1,true)
                    tv_last.visible()
                }
        }
    }
@@ -117,7 +122,9 @@
    private fun recover(){
        HttpManager.teamSchedule(day,week,2).request(this){_,data->
//            view_pager.setCurrentItem(data?.topicIds?.size?:1,false)
            view_pager.setCurrentItem((data?.schedule?:1)-1,false)
            if (view_pager.currentItem != 0)
                tv_last.visible()
            totalCount = data?.answerNumber?:0
            rightCount = data?.correctNumber?:0
        }
@@ -128,13 +135,9 @@
        tipDialog.arguments = bundleOf("msg" to "未完成全部答题,确认退出吗?")
        tipDialog.setCallback(object :TipDialog.OnClickCallback{
            override fun onOk() {
                if (view_pager.currentItem == 0)
                val list = (data?.subjectList?: arrayListOf()).subList(0,view_pager.currentItem).flatMap { it }
                HttpManager.exitLearning(view_pager.currentItem,season,time,totalCount,rightCount,day,week,2,data?.data?.id?:"", list.joinToString(",") { it.id }).request(this@ChooseVoiceActivity){ _, _->
                    finish()
                else{
                    val list = (data?.subjectList?: arrayListOf()).subList(0,view_pager.currentItem).flatMap { it }
                    HttpManager.exitLearning(totalCount,rightCount,day,week,2,data?.data?.id?:"", list.joinToString(",") { it.id }).request(this@ChooseVoiceActivity){ _, _->
                        finish()
                    }
                }
            }
@@ -146,6 +149,7 @@
    override fun onDestroy() {
        super.onDestroy()
        EventBus.getDefault().post(EmptyEvent(Const.EventCode.STOP_TIMER))
        handler?.removeMessages(0)
        handler = null
    }