fix 心跳和退出登录
This commit is contained in:
parent
f3b7c4b538
commit
df86131200
|
|
@ -77,6 +77,7 @@ import com.yingmao.clash.view.dialog.RxDialogShapeLoading
|
|||
import com.yingmao.clash.vm.MainAtyVM
|
||||
import com.yingmao.clash.webview.BZYWebViewKeFu
|
||||
import com.yingmao.clash.webview.BZYWebViewNormal
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.async
|
||||
|
|
@ -203,6 +204,10 @@ class NewMainActivity : BaseActivity() {
|
|||
// if ("0" == uploadRequestLogs.code) {
|
||||
|
||||
// }
|
||||
//登录失效
|
||||
if (uploadRequestLogs.code=="-3"){
|
||||
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
|
|
@ -384,9 +389,9 @@ class NewMainActivity : BaseActivity() {
|
|||
HEART_BEAT_FAILURE_FREQUENCY = 0
|
||||
|
||||
cleanUserInfo()
|
||||
startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
finish()
|
||||
mainAtyVM.stopHeartBeat()
|
||||
// startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
// finish()
|
||||
// mainAtyVM.stopHeartBeat()
|
||||
}
|
||||
|
||||
-4 -> {
|
||||
|
|
@ -398,9 +403,9 @@ class NewMainActivity : BaseActivity() {
|
|||
}
|
||||
HEART_BEAT_FAILURE_FREQUENCY = 0
|
||||
cleanUserInfo()
|
||||
startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
finish()
|
||||
mainAtyVM.stopHeartBeat()
|
||||
// startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
// finish()
|
||||
// mainAtyVM.stopHeartBeat()
|
||||
}
|
||||
|
||||
-3 -> {
|
||||
|
|
@ -558,10 +563,11 @@ class NewMainActivity : BaseActivity() {
|
|||
if (5 <= HEART_BEAT_FAILURE_FREQUENCY) {
|
||||
HEART_BEAT_FAILURE_FREQUENCY = 0
|
||||
Logger.d("心跳失败次数超过10次,退出登录")
|
||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_TOKEN)
|
||||
startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
finish()
|
||||
mainAtyVM.stopHeartBeat()
|
||||
// MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_TOKEN)
|
||||
// startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
// finish()
|
||||
// mainAtyVM.stopHeartBeat()
|
||||
cleanUserInfo()
|
||||
}
|
||||
HEART_BEAT_FAILURE_FREQUENCY++
|
||||
} else if (httpStatus.reqType == HttpReqType.CHECK_LOGIN) {
|
||||
|
|
@ -621,20 +627,29 @@ class NewMainActivity : BaseActivity() {
|
|||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_CURRENT_NODE)
|
||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.NODE_SELECTED_NAME_KEY)
|
||||
MMKV.defaultMMKV().removeValueForKey(BZYConstants.MMKV_KEY_VPN_UserCommand)
|
||||
startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
|
||||
Log.d("cleanUserInfo clashRunning==>${clashRunning}")
|
||||
if (clashRunning) {
|
||||
fragments.filterIsInstance<NewAccFragment>().forEach { it.stopClash() }
|
||||
}
|
||||
stopUploadTimer()
|
||||
mainAtyVM.stopHeartBeat()
|
||||
cleanProfile()
|
||||
startActivity(Intent(CommonUtils.getApp(), LoginActivity::class.java))
|
||||
finish()
|
||||
}
|
||||
|
||||
|
||||
private fun cleanProfile() {
|
||||
launch(Dispatchers.IO) {
|
||||
Log.d("cleanProfile start")
|
||||
GlobalScope.launch(Dispatchers.IO) {
|
||||
profileBinder?.let { pm ->
|
||||
pm.queryAll().forEach { profile ->
|
||||
Log.d("cleanProfile go delete name==>${profile.name}, uuid==>${profile.uuid}")
|
||||
pm.delete(profile.uuid)
|
||||
}
|
||||
}?:let {
|
||||
Log.d("profileBinder is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1090,6 +1105,7 @@ class NewMainActivity : BaseActivity() {
|
|||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
stopUploadTimer()
|
||||
mainAtyVM.stopHeartBeat()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -28,7 +28,8 @@ import kotlin.concurrent.schedule
|
|||
|
||||
|
||||
class MainAtyVM : PublicViewMode() {
|
||||
private val heartBeatTimer: Timer by lazy { Timer() }
|
||||
private var heartBeatTimer: Timer?=null
|
||||
private var heartBeatTask: TimerTask?=null
|
||||
private fun heartbeat() {
|
||||
val httpApi = NetService.instances.createHttpsEncodeStr(HttpApi::class.java)
|
||||
val node = MMKV.defaultMMKV()
|
||||
|
|
@ -55,9 +56,9 @@ class MainAtyVM : PublicViewMode() {
|
|||
|
||||
fun getNoticeInfo() {
|
||||
val httpApi = NetService.instances.createHttps(HttpApi::class.java)
|
||||
val userId = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_USER_ID,"")!!
|
||||
val phToken = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN,"")!!
|
||||
val phone = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME,"")!!
|
||||
val userId = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_USER_ID, "")!!
|
||||
val phToken = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN, "")!!
|
||||
val phone = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, "")!!
|
||||
|
||||
val params = mutableMapOf(
|
||||
"userId" to userId,
|
||||
|
|
@ -70,9 +71,9 @@ class MainAtyVM : PublicViewMode() {
|
|||
|
||||
fun getRuningNoticeInfo() {
|
||||
val httpApi = NetService.instances.createHttps(HttpApi::class.java)
|
||||
val userId = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_USER_ID,"")!!
|
||||
val phToken = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN,"")!!
|
||||
val phone = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME,"")!!
|
||||
val userId = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_USER_ID, "")!!
|
||||
val phToken = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN, "")!!
|
||||
val phone = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, "")!!
|
||||
|
||||
val params = mutableMapOf(
|
||||
"userId" to userId,
|
||||
|
|
@ -88,8 +89,9 @@ class MainAtyVM : PublicViewMode() {
|
|||
|
||||
fun checkLogin() {
|
||||
val httpApi = NetService.instances.createHttpsEncodeStr(HttpApi::class.java)
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN,"")!!
|
||||
val phoneNumber = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME,"")!!
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN, "")!!
|
||||
val phoneNumber =
|
||||
MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, "")!!
|
||||
val params = mutableMapOf(
|
||||
"phToken" to token,
|
||||
"phoneNumber" to phoneNumber,
|
||||
|
|
@ -104,20 +106,32 @@ class MainAtyVM : PublicViewMode() {
|
|||
//10分钟一次
|
||||
fun startHeartBeat() {
|
||||
// heartBeatTimer.cancel()
|
||||
heartBeatTimer.schedule(100000, 600000) {
|
||||
Logger.d("心跳")
|
||||
heartbeat()
|
||||
if (heartBeatTimer == null) {
|
||||
heartBeatTimer= Timer()
|
||||
heartBeatTask = object : TimerTask() {
|
||||
override fun run() {
|
||||
Logger.d("心跳")
|
||||
heartbeat()
|
||||
}
|
||||
}
|
||||
}
|
||||
heartBeatTimer?.schedule(heartBeatTask,10000,60000)
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun stopHeartBeat() {
|
||||
heartBeatTimer.cancel()
|
||||
heartBeatTimer?.cancel()
|
||||
heartBeatTimer = null
|
||||
heartBeatTask?.cancel()
|
||||
heartBeatTask = null
|
||||
}
|
||||
|
||||
fun appCheck() {
|
||||
val httpApi = NetService.instances.createHttpsEncodeStr(HttpApi::class.java)
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN,"")!!
|
||||
val phoneNumber = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME,"")!!
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN, "")!!
|
||||
val phoneNumber =
|
||||
MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, "")!!
|
||||
val params = mutableMapOf(
|
||||
"phToken" to token,
|
||||
"phoneNumber" to phoneNumber,
|
||||
|
|
@ -137,8 +151,9 @@ class MainAtyVM : PublicViewMode() {
|
|||
|
||||
fun getAirNodes() {
|
||||
val httpApi = NetService.instances.createHttpsEncodeStr(HttpApi::class.java)
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN,"")!!
|
||||
val phoneNumber = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME,"")!!
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN, "")!!
|
||||
val phoneNumber =
|
||||
MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, "")!!
|
||||
val params = mutableMapOf(
|
||||
"phToken" to token,
|
||||
"phoneNumber" to phoneNumber,
|
||||
|
|
@ -152,8 +167,9 @@ class MainAtyVM : PublicViewMode() {
|
|||
|
||||
fun vipSign() {
|
||||
val httpApi = NetService.instances.createHttpsEncodeStr(HttpApi::class.java)
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN,"")!!
|
||||
val phoneNumber = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME,"")!!
|
||||
val token = MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_PH_TOKEN, "")!!
|
||||
val phoneNumber =
|
||||
MMKV.defaultMMKV().decodeString(BZYConstants.MMKV_KEY_REMEMBER_USERNAME, "")!!
|
||||
val params = mutableMapOf(
|
||||
"phToken" to token,
|
||||
"phoneNumber" to phoneNumber,
|
||||
|
|
|
|||
Loading…
Reference in New Issue