From 442124baa483f8d1c4aaca7ff81e15dd3f122363 Mon Sep 17 00:00:00 2001 From: 罗明文 <125975490@qq.com> Date: 星期四, 22 五月 2025 13:14:36 +0800 Subject: [PATCH] save --- app/src/main/java/com/dollearn/student/ui/home/DailyFragment.kt | 80 +++++++++++++++++++++++++++++++--------- 1 files changed, 62 insertions(+), 18 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..7d53594 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 @@ -26,54 +35,93 @@ private val week by lazy { (requireActivity() as ScheduleActivity).week } - private val current by lazy { - (requireActivity() as ScheduleActivity).currentDay - } + override fun onFirstVisibleToUser() { 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}周目" + val scheduleActivity = activity as ScheduleActivity + if (day != scheduleActivity.currentDay){ //解锁了后一天 + scheduleActivity.unLockNext(day) + } + tv_current.text = "当前周目:${week.formatToChinese()}周目" tv_progress.text = "${computeSchedule}%" tv_total.text = "${totalStudy}小时" tv_today.text = "${todayStudy}小时" progress_bar.progress = computeSchedule - if (this@DailyFragment.day == current){ + if (this@DailyFragment.day == scheduleActivity.currentDay){ formatProgress(listen,tv_state) formatProgress(look,tv_state_2) formatProgress(induction,tv_state_3) @@ -92,11 +140,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 +149,8 @@ "已完成" } else->{ - "剩余:${100-progress}%" + tv.backgroundResource = R.drawable.bg_pink_9dp + "剩余:${progress}%" } } } @@ -137,7 +182,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