From 9e9fa804509d1c2de0eb4864b74dc296a19ae813 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Sat, 25 Dec 2021 12:07:09 -0500 Subject: [PATCH] Migrate EHentaiThrottleManager from Longs to durations --- .../java/exh/eh/EHentaiThrottleManager.kt | 23 +++++++++++-------- .../java/exh/favorites/FavoritesSyncHelper.kt | 3 ++- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/exh/eh/EHentaiThrottleManager.kt b/app/src/main/java/exh/eh/EHentaiThrottleManager.kt index 2661cf614..2d2b6cd63 100644 --- a/app/src/main/java/exh/eh/EHentaiThrottleManager.kt +++ b/app/src/main/java/exh/eh/EHentaiThrottleManager.kt @@ -1,18 +1,21 @@ package exh.eh import kotlinx.coroutines.delay +import kotlin.time.Duration +import kotlin.time.Duration.Companion.milliseconds +import kotlin.time.Duration.Companion.seconds class EHentaiThrottleManager( - private val max: Int = THROTTLE_MAX, - private val inc: Int = THROTTLE_INC + private val max: Duration = THROTTLE_MAX, + private val inc: Duration = THROTTLE_INC ) { - private var lastThrottleTime: Long = 0 - var throttleTime: Long = 0 + private var lastThrottleTime = Duration.ZERO + var throttleTime = Duration.ZERO private set suspend fun throttle() { // Throttle requests if necessary - val now = System.currentTimeMillis() + val now = System.currentTimeMillis().milliseconds val timeDiff = now - lastThrottleTime if (timeDiff < throttleTime) { delay(throttleTime - timeDiff) @@ -22,16 +25,16 @@ class EHentaiThrottleManager( throttleTime += inc } - lastThrottleTime = System.currentTimeMillis() + lastThrottleTime = System.currentTimeMillis().milliseconds } fun resetThrottle() { - lastThrottleTime = 0 - throttleTime = 0 + lastThrottleTime = Duration.ZERO + throttleTime = Duration.ZERO } companion object { - const val THROTTLE_MAX = 5500 - const val THROTTLE_INC = 20 + val THROTTLE_MAX = 5.5.seconds + val THROTTLE_INC = 20.milliseconds } } diff --git a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt index b18439514..10715c333 100644 --- a/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt +++ b/app/src/main/java/exh/favorites/FavoritesSyncHelper.kt @@ -39,6 +39,7 @@ import okhttp3.Request import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy +import kotlin.time.Duration.Companion.seconds class FavoritesSyncHelper(val context: Context) { private val db: DatabaseHelper by injectLazy() @@ -426,7 +427,7 @@ class FavoritesSyncHelper(val context: Context) { } companion object { - private const val THROTTLE_WARN = 1000 + private val THROTTLE_WARN = 1.seconds } }