From acc53e51bf8b558597d5b6aa2b5ba555f9cb040c Mon Sep 17 00:00:00 2001 From: lifegpc Date: Sat, 25 May 2024 20:02:59 +0800 Subject: [PATCH] Fix fetchMeta may not use latest token --- lib/task.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/task.dart b/lib/task.dart index 78a515d..5ac29bd 100644 --- a/lib/task.dart +++ b/lib/task.dart @@ -54,8 +54,15 @@ class TaskManager { void addToTasksList(Task task, TaskStatus status) { if (task.type == TaskType.download && !meta.containsKey(task.gid)) { - peddingGids.add(task.gid); - peddingTokens.add(task.token); + if (peddingGids.contains(task.gid)) { + final index = peddingGids.indexOf(task.gid); + if (peddingTokens[index]! != task.token) { + peddingTokens[index] = task.token; + } + } else { + peddingGids.add(task.gid); + peddingTokens.add(task.token); + } } if (status == TaskStatus.finished) { tasksList.add(task.id);