From b13afc751dbbce24753d008f1f87d2c5e133a4ad Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期二, 09 七月 2024 15:19:26 +0800
Subject: [PATCH] fix bug

---
 app/src/main/java/com/dollearn/student/MainActivity.kt |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 4 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..df759cc 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
@@ -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
     }
 }
\ No newline at end of file

--
Gitblit v1.7.1