fix: probe source availability before showing download progress

Probe the source URLs up front so the download flow only enters the
progress state when something is actually downloadable, and report
Idle instead of a fake Success when nothing is: the early return
skipped the terminal-state delay and reset, leaving a phantom 100%
Success (and a stuck "indexing" bar plus a success notification) for
downloads that never happened.
This commit is contained in:
2026-09-01 11:45:41 +08:00
parent 98ef99ab53
commit 96461bd7cf
@@ -58,7 +58,7 @@ class DownloadManager(
if (enabledSources.isEmpty()) {
dictionaryRepository.performAllCleanup()
updateDownloadProgressState(DownloadState.Success, 1f)
updateDownloadProgressState(DownloadState.Idle, 0f)
return@withLock
}
@@ -142,7 +142,7 @@ class DownloadManager(
mutex.withLock {
try {
if (sourceUrls.isEmpty()) {
updateDownloadProgressState(DownloadState.Success, 1f)
updateDownloadProgressState(DownloadState.Idle, 0f)
return@withLock
}
@@ -153,7 +153,7 @@ class DownloadManager(
}
if (sources.isEmpty()) {
updateDownloadProgressState(DownloadState.Success, 1f)
updateDownloadProgressState(DownloadState.Idle, 0f)
return@withLock
}