addDownloadMessageToQueue static method

void addDownloadMessageToQueue({
  1. required DownloadMessageQueueData data,
})

Implementation

static void addDownloadMessageToQueue({
  required DownloadMessageQueueData data,
}) {
  if (downloadQueue.containsKey(data.convID)) {
    if (downloadQueue[data.convID] != null) {
      int idx = downloadQueue[data.convID]!.indexWhere((element) => element.getUniqueueKey() == data.getUniqueueKey());
      if (idx > -1) {
        console("${data.getUniqueueKey()} is already add to the download queue");
        return;
      }
    }
  } else {
    downloadQueue[data.convID] = [];
  }
  int curDownloadingIdx = currentDownloadingList.indexWhere((ele) => ele.getUniqueueKey() == data.getUniqueueKey());
  if (curDownloadingIdx > -1) {
    console("${data.msgID} is downloading");
    return;
  }
  downloadQueue[data.convID]!.add(data);

  console("add ${data.msgID} to the download queue. message type ${data.messageType}");
}