From c303346ae803dc2a89ec0f025192773211861915 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 16 七月 2024 14:46:28 +0800 Subject: [PATCH] fix bug --- app/src/main/java/com/dollearn/student/MainActivity.kt | 74 ++++++++++++++++++------------------ 1 files changed, 37 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/dollearn/student/MainActivity.kt b/app/src/main/java/com/dollearn/student/MainActivity.kt index df759cc..feaf6fe 100644 --- a/app/src/main/java/com/dollearn/student/MainActivity.kt +++ b/app/src/main/java/com/dollearn/student/MainActivity.kt @@ -33,6 +33,7 @@ var homeData: UserBean? = null //个人信息 var score = 0 private var handler: Handler? = null + var mins = 0 override fun initClick() { } @@ -51,36 +52,36 @@ } private fun getScoreConfig() { - HttpManager.onlineDuration().request(this,false,{_,data-> - SPUtils.instance().put(Const.SCORE_DURATION,(data?:"0").toInt()).apply() - startTimer() - }){_,_-> - startTimer() + 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)//单位分钟 - var mins = 0 - 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 + 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) - }){_,_-> - handler?.sendEmptyMessageDelayed(0,1000*60) - } - }else - handler?.sendEmptyMessageDelayed(0,1000*60) + } } } + if (handler?.hasMessages(0) == false){ + mins = 0 + handler?.sendEmptyMessageDelayed(0,1000*60) } - handler?.sendEmptyMessageDelayed(0,1000*60) } private fun getVoiceUrl() { @@ -145,23 +146,22 @@ @Subscribe fun onSwitch(e:EmptyEvent){ - if (e.code == Const.EventCode.CLICK_GAME_ITEM){ - 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() { -- Gitblit v1.7.1