diff --git a/app/src/main/kotlin/com/hippo/ehviewer/spider/SpeedTracker.kt b/app/src/main/kotlin/com/hippo/ehviewer/spider/SpeedTracker.kt index e8904f7eb..694d8e6e7 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/spider/SpeedTracker.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/spider/SpeedTracker.kt @@ -104,7 +104,9 @@ suspend inline fun timeoutBySpeed( } } -fun speedLevelToSpeed(level: Int) = 2f.pow(level).roundToInt() +const val MIN_SPEED_LEVEL = 3 + +fun speedLevelToSpeed(level: Int) = if (level == MIN_SPEED_LEVEL) 0 else 2f.pow(level).roundToInt() inline fun MutableObjectIntMap.fold(initial: R, operation: (acc: R, T, Int) -> R): R { var accumulator = initial diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt index 48ef592b7..6fc1b32c1 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt @@ -44,6 +44,7 @@ import com.hippo.ehviewer.download.DownloadManager import com.hippo.ehviewer.download.downloadDir import com.hippo.ehviewer.download.downloadLocation import com.hippo.ehviewer.spider.COMIC_INFO_FILE +import com.hippo.ehviewer.spider.MIN_SPEED_LEVEL import com.hippo.ehviewer.spider.SpiderDen import com.hippo.ehviewer.spider.SpiderQueen.Companion.SPIDER_INFO_FILENAME import com.hippo.ehviewer.spider.readComicInfo @@ -193,14 +194,12 @@ fun AnimatedVisibilityScope.DownloadScreen(navigator: DestinationsNavigator) = S IntSliderPreference( maxValue = 10, minValue = 2, - step = 7, title = stringResource(id = R.string.settings_download_connection_timeout), state = Settings.connTimeout.asMutableState(), ) IntSliderPreference( maxValue = 10, - minValue = 4, - step = 5, + minValue = MIN_SPEED_LEVEL, title = stringResource(id = R.string.settings_download_timeout_speed), state = Settings.timeoutSpeed.asMutableState(), display = ::speedLevelToSpeed,