Fix fetchMeta may not use latest token

This commit is contained in:
2024-05-25 20:02:59 +08:00
parent b55c08b99b
commit acc53e51bf

View File

@@ -54,8 +54,15 @@ class TaskManager {
void addToTasksList(Task task, TaskStatus status) { void addToTasksList(Task task, TaskStatus status) {
if (task.type == TaskType.download && !meta.containsKey(task.gid)) { if (task.type == TaskType.download && !meta.containsKey(task.gid)) {
peddingGids.add(task.gid); if (peddingGids.contains(task.gid)) {
peddingTokens.add(task.token); 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) { if (status == TaskStatus.finished) {
tasksList.add(task.id); tasksList.add(task.id);