lmw
2024-07-16 c303346ae803dc2a89ec0f025192773211861915
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() {