From cd13751df41c6504b3934cd3f1bd441c4ba172ff Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期五, 19 七月 2024 11:38:27 +0800 Subject: [PATCH] fix bug --- app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt | 70 ++++++++++++++++++++++++++++------- 1 files changed, 56 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt b/app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt index 2a47c06..844eee2 100644 --- a/app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt +++ b/app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt @@ -5,12 +5,21 @@ import android.widget.TextView import androidx.core.os.bundleOf import cn.sinata.xldutils.fragment.BaseFragment +import cn.sinata.xldutils.utils.myToast +import cn.sinata.xldutils.utils.showAllowingStateLoss import com.dollearn.student.R +import com.dollearn.student.dialog.TipDialog +import com.dollearn.student.network.Apis import com.dollearn.student.network.HttpManager import com.dollearn.student.network.requestByF +import com.dollearn.student.utils.Const +import com.dollearn.student.utils.event.EmptyEvent import com.dollearn.student.utils.extention.clickDelay +import com.dollearn.student.utils.extention.formatToChinese import kotlinx.android.synthetic.main.fragment_daily.* +import org.greenrobot.eventbus.EventBus import org.jetbrains.anko.backgroundResource +import org.jetbrains.anko.support.v4.browse import org.jetbrains.anko.support.v4.startActivityForResult import org.jetbrains.anko.support.v4.toast @@ -34,40 +43,77 @@ getProgress() cl_1.clickDelay { showDialog("加载题目...") - HttpManager.listenSelectPicture(season, week, day).requestByF(this){_,data-> + HttpManager.listenSelectPicture(season, week, day).requestByF(this,false, {_,data-> startActivityForResult<ListenActivity>(1,"data" to data,"day" to day,"week" to week,"season" to season) + EventBus.getDefault().post(EmptyEvent(Const.EventCode.START_TIMER)) + }){_,msg-> + handleError(msg) } } cl_2.clickDelay { showDialog("加载题目...") - HttpManager.pictureSelectVoice(season, week, day).requestByF(this){_,data-> + HttpManager.pictureSelectVoice(season, week, day).requestByF(this,false, {_,data-> startActivityForResult<ChooseVoiceActivity>(1,"data" to data,"day" to day,"week" to week,"season" to season) + EventBus.getDefault().post(EmptyEvent(Const.EventCode.START_TIMER)) + + }){_,msg-> + handleError(msg) } } cl_3.clickDelay { showDialog("加载题目...") - HttpManager.induceExclude(season, week, day).requestByF(this){_,data-> + HttpManager.induceExclude(season, week, day).requestByF(this,false, {_,data-> startActivityForResult<IncludeActivity>(1,"data" to data,"day" to day,"week" to week,"season" to season) + EventBus.getDefault().post(EmptyEvent(Const.EventCode.START_TIMER)) + + }){_,msg-> + handleError(msg) } } cl_4.clickDelay { showDialog("加载题目...") - HttpManager.questionsAndAnswers(season, week, day).requestByF(this){_,data-> + HttpManager.questionsAndAnswers(season, week, day).requestByF(this,false, {_,data-> startActivityForResult<QAActivity>(1,"data" to data,"day" to day,"week" to week,"season" to season) + EventBus.getDefault().post(EmptyEvent(Const.EventCode.START_TIMER)) + + }){_,msg-> + handleError(msg) } } cl_5.clickDelay { showDialog("加载题目...") - HttpManager.pictureMateVoice(season, week, day).requestByF(this){_,data-> + HttpManager.pictureMateVoice(season, week, day).requestByF(this,false,{_,data-> startActivityForResult<MatchActivity>(1,"data" to data,"day" to day,"week" to week,"season" to season) + EventBus.getDefault().post(EmptyEvent(Const.EventCode.START_TIMER)) + + }){_,msg-> + handleError(msg) } + } + } + + private fun handleError(msg:String){ + if (msg.contains("会员")){ + val tipDialog = TipDialog() + tipDialog.arguments = bundleOf("msg" to msg,"ok" to "成为会员") + tipDialog.setCallback(object :TipDialog.OnClickCallback{ + override fun onOk() { + browse(Apis.SHARE_URL,true) + } + + override fun onCancel() { + } + }) + tipDialog.showAllowingStateLoss(childFragmentManager,"vip") + }else{ + myToast(msg) } } private fun getProgress(){ HttpManager.studySchedule(week,day).requestByF(this){ _, data-> data?.apply { - tv_current.text = "当前周目:${week}周目" + tv_current.text = "当前周目:${week.formatToChinese()}周目" tv_progress.text = "${computeSchedule}%" tv_total.text = "${totalStudy}小时" tv_today.text = "${todayStudy}小时" @@ -92,11 +138,7 @@ private fun formatProgress(progress:Int,tv:TextView){ tv.text = when(progress){ - -1->{ - tv.backgroundResource = R.drawable.bg_grey_9dp - "未开始" - } - 0->{ + -1, 0->{ tv.backgroundResource = R.drawable.bg_red_9dp "未完成" } @@ -105,7 +147,8 @@ "已完成" } else->{ - "剩余:${100-progress}%" + tv.backgroundResource = R.drawable.bg_pink_9dp + "剩余:${progress}%" } } } @@ -137,7 +180,6 @@ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) - if (resultCode == Activity.RESULT_OK) - getProgress() + getProgress() } } -- Gitblit v1.7.1