File tree Expand file tree Collapse file tree 2 files changed +8
-2
lines changed
app/src/main/kotlin/li/songe/gkd Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -368,7 +368,7 @@ class MainViewModel : BaseViewModel(), OnSimpleLife {
368368 clearCache()
369369 }
370370
371- if (updateStatus != null && termsAcceptedFlow.value ) {
371+ if (termsAcceptedFlow.value && updateStatus?.canRecheck == true ) {
372372 updateStatus.checkUpdate()
373373 }
374374
Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ import li.songe.gkd.store.createAnyFlow
3434import li.songe.gkd.store.storeFlow
3535import java.io.File
3636import java.net.URI
37+ import kotlin.time.Duration.Companion.days
3738
3839
3940private val UPDATE_URL : String
@@ -56,6 +57,8 @@ data class VersionLog(
5657 val desc : String ,
5758)
5859
60+ private var lastCheckTime = 0L
61+
5962class UpdateStatus (val scope : CoroutineScope ) {
6063 private val checkUpdatingMutex = MutexState ()
6164 val checkUpdatingFlow
@@ -73,9 +76,12 @@ class UpdateStatus(val scope: CoroutineScope) {
7376 }
7477 private var lastManual = false
7578
76- fun checkUpdate (manual : Boolean = false) = scope.launchTry(Dispatchers .IO , silent = manual) {
79+ val canRecheck get() = System .currentTimeMillis() - lastCheckTime > 1 .days.inWholeMilliseconds
80+
81+ fun checkUpdate (manual : Boolean = false) = scope.launchTry(Dispatchers .IO , silent = ! manual) {
7782 lastManual = manual
7883 checkUpdatingMutex.whenUnLock {
84+ lastCheckTime = System .currentTimeMillis()
7985 if (! NetworkUtils .isAvailable()) {
8086 error(" 网络不可用" )
8187 }
You can’t perform that action at this time.
0 commit comments