From 855a7e18a795f0db2453a19e3e8f26ba2ff553b4 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期四, 29 五月 2025 16:32:41 +0800 Subject: [PATCH] UI调整 --- app/src/main/java/com/dollearn/student/MainActivity.kt | 95 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 75 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/dollearn/student/MainActivity.kt b/app/src/main/java/com/dollearn/student/MainActivity.kt index 2f671f4..cee32e6 100644 --- a/app/src/main/java/com/dollearn/student/MainActivity.kt +++ b/app/src/main/java/com/dollearn/student/MainActivity.kt @@ -1,14 +1,17 @@ package com.dollearn.student import android.annotation.SuppressLint +import android.os.Handler +import android.os.Looper +import android.os.Message +import android.util.Log import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentPagerAdapter import cn.sinata.xldutils.gone -import cn.sinata.xldutils.utils.showAllowingStateLoss +import cn.sinata.xldutils.utils.SPUtils import com.flyco.tablayout.listener.CustomTabEntity import com.flyco.tablayout.listener.OnTabSelectListener import com.github.zackratos.ultimatebar.UltimateBar -import com.dollearn.student.dialog.CompetitionTipDialog import com.dollearn.student.network.HttpManager import com.dollearn.student.network.entity.UserBean import com.dollearn.student.network.request @@ -19,7 +22,6 @@ import com.dollearn.student.utils.Const import com.dollearn.student.utils.event.EmptyEvent import kotlinx.android.synthetic.main.activity_main.* -import kotlinx.android.synthetic.main.fragment_shop.* import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe @@ -29,6 +31,8 @@ private val fragments = arrayListOf<Fragment>() var homeData: UserBean? = null //个人信息 var score = 0 + private var handler: Handler? = null + var mins = 0 override fun initClick() { } @@ -42,6 +46,57 @@ initTab() EventBus.getDefault().register(this) getData() + getVoiceUrl() + getScoreConfig() + getIsText2() + } + + private fun getIsText2() { + HttpManager.getIsOpen().request(this){_,data-> + SPUtils.instance().put(Const.IS_SHOW_TEXT,data?:true).apply() + } + } + + private fun getScoreConfig() { + HttpManager.onlineDuration().request(this,false) { _, data -> + SPUtils.instance().put(Const.SCORE_DURATION, (data ?: "0").toInt()).apply() + } + } + + private fun startTimer() { + val duration = SPUtils.instance().getInt(Const.SCORE_DURATION,30)//单位分钟 + if (handler == null) + handler = object :Handler(Looper.myLooper()!!){ + override fun handleMessage(msg: Message) { + super.handleMessage(msg) + if (msg.what == 0){ + mins++ + Log.e("mmp","当前已听${mins}分钟") + if (mins >= duration){ + HttpManager.giveIntegral().request(this@MainActivity,false,{_,_-> + mins = 0 + handler?.sendEmptyMessageDelayed(0,1000*60) + }){_,_-> + handler?.sendEmptyMessageDelayed(0,1000*60) + } + }else + handler?.sendEmptyMessageDelayed(0,1000*60) + } + } + } + if (handler?.hasMessages(0) == false){ + mins = 0 + handler?.sendEmptyMessageDelayed(0,1000*60) + } + } + + private fun getVoiceUrl() { + HttpManager.promptVoice().request(this,false){_,data-> + if (!data?.correct.isNullOrEmpty()) + SPUtils.instance().put(Const.RV,data?.correct?:"").apply() + if (!data?.error.isNullOrEmpty()) + SPUtils.instance().put(Const.EV,data?.error?:"").apply() + } } private fun initTab() { @@ -97,23 +152,22 @@ @Subscribe fun onSwitch(e:EmptyEvent){ - if (e.code == Const.EventCode.SWITCH_HOME){ - switchHome() - }else if(e.code == Const.EventCode.CHANGE_WELFARE){ - tab_bar.currentTab = 2 - onTabSelect(2) - }else if(e.code == Const.EventCode.CHANGE_EXPLORE){ - tab_bar.currentTab = 3 - onTabSelect(3) + when (e.code) { + Const.EventCode.CLICK_GAME_ITEM -> { + switchHome() + } + Const.EventCode.REFRESH_USER -> getData() + Const.EventCode.SCORE_CHANGED -> getScore() + Const.EventCode.START_TIMER ->{ + Log.e("mmp","开始学习") + startTimer() + } + Const.EventCode.STOP_TIMER ->{ + Log.e("mmp","结束学习") + handler?.removeMessages(0) + mins = 0 + } } - } - - @Subscribe - fun refreshUser(e:EmptyEvent){ - if (e.code == Const.EventCode.REFRESH_USER) - getData() - if (e.code == Const.EventCode.SCORE_CHANGED) - getScore() } private fun getData() { @@ -145,6 +199,7 @@ override fun onDestroy() { super.onDestroy() EventBus.getDefault().unregister(this) - WeparkApplication.storeId = "" + handler?.removeCallbacksAndMessages(null) + handler = null } } \ No newline at end of file -- Gitblit v1.7.1