|
|
@@ -240,10 +240,13 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ private var isTaskLoading = false // 顶部添加变量
|
|
|
/**
|
|
|
* 获取任务相关接口
|
|
|
*/
|
|
|
private fun launchTask() {
|
|
|
+ if(isTaskLoading) return // 👈 防止重复请求
|
|
|
+ isTaskLoading = true
|
|
|
runOnUiThread {
|
|
|
//获取任务列表
|
|
|
getFindMyTask()
|
|
|
@@ -256,6 +259,13 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 接口结束后重置
|
|
|
+ viewModel.findMyCurrentTask(fail = {
|
|
|
+ isTaskLoading = false
|
|
|
+ }, success = {
|
|
|
+ isTaskLoading = false
|
|
|
+ // ...
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -297,6 +307,9 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
|
|
|
// })
|
|
|
// }
|
|
|
|
|
|
+ private var hasShowTipDialogToday = false
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 查询是否有进行中的任务
|
|
|
*/
|
|
|
@@ -316,11 +329,13 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
|
|
|
}
|
|
|
if (it.currentTaskNum == it.totalTaskNum) {
|
|
|
if (TextUtils.equals("0", it.status)) {
|
|
|
+ // 👇 双重判断:本地日期 + 页面内标记
|
|
|
+ val today = User.getNowDay()
|
|
|
+ val hasShowInSp = TextUtils.equals(today, User.getTaskDialogStatus())
|
|
|
//任务完成
|
|
|
- if (TextUtils.equals(User.getNowDay(), User.getTaskDialogStatus())
|
|
|
- .not()
|
|
|
- ) {
|
|
|
- User.saveTaskDialogStatus(User.getNowDay())
|
|
|
+ if (!hasShowInSp && !hasShowTipDialogToday) {
|
|
|
+ hasShowTipDialogToday = true // 页面内立即锁定
|
|
|
+ User.saveTaskDialogStatus(today) // 持久化锁定
|
|
|
showTipDialog()
|
|
|
} else {
|
|
|
showLayout(true)
|
|
|
@@ -1067,4 +1082,14 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
|
|
|
return cn!!.className == activity.javaClass.name
|
|
|
}
|
|
|
|
|
|
+ // 这是你本来就该有的销毁方法
|
|
|
+ override fun onDestroy() {
|
|
|
+ super.onDestroy()
|
|
|
+ // 👇 只需要加这一行
|
|
|
+ hasShowTipDialogToday = false
|
|
|
+
|
|
|
+ // 你原来的代码:停止语音播放
|
|
|
+ voicePlayer?.stop()
|
|
|
+ }
|
|
|
+
|
|
|
}
|