lmw
2024-07-09 b13afc751dbbce24753d008f1f87d2c5e133a4ad
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
@@ -29,6 +32,7 @@
    private val fragments    = arrayListOf<Fragment>()
    var homeData: UserBean? = null //个人信息
    var score = 0
    private var handler: Handler? = null
    override fun initClick() {
    }
@@ -42,6 +46,50 @@
        initTab()
        EventBus.getDefault().register(this)
        getData()
        getVoiceUrl()
        getScoreConfig()
    }
    private fun getScoreConfig() {
        HttpManager.onlineDuration().request(this,false,{_,data->
            SPUtils.instance().put(Const.SCORE_DURATION,(data?:"0").toInt()).apply()
            startTimer()
        }){_,_->
            startTimer()
        }
    }
    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
                            handler?.sendEmptyMessageDelayed(0,1000*60)
                        }){_,_->
                            handler?.sendEmptyMessageDelayed(0,1000*60)
                        }
                    }else
                        handler?.sendEmptyMessageDelayed(0,1000*60)
                }
            }
        }
        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,7 +145,7 @@
    @Subscribe
    fun onSwitch(e:EmptyEvent){
        if (e.code == Const.EventCode.SWITCH_HOME){
        if (e.code == Const.EventCode.CLICK_GAME_ITEM){
            switchHome()
        }else if(e.code == Const.EventCode.CHANGE_WELFARE){
            tab_bar.currentTab = 2
@@ -145,6 +193,7 @@
    override fun onDestroy() {
        super.onDestroy()
        EventBus.getDefault().unregister(this)
        WeparkApplication.storeId = ""
        handler?.removeCallbacksAndMessages(null)
        handler = null
    }
}