downloadKind method
Implementation
Future<void> downloadKind(WordInfoKind kind) async {
if (isDownloading.value) return;
try {
downloadingKind.value = kind;
isPreparingDownload.value = true;
isDownloading.value = true;
downloadProgress.value = 0.0;
update(['word_info_download']);
await _repository.downloadKind(
kind: kind,
onProgress: (p) {
isPreparingDownload.value = false;
downloadProgress.value = p;
update(['word_info_download']);
},
);
if (kind == WordInfoKind.recitations) {
_bumpRecitationsRevision();
}
isPreparingDownload.value = false;
isDownloading.value = false;
downloadingKind.value = null;
downloadProgress.value = 100.0;
update(['word_info_download', 'word_info_data']);
} catch (e) {
isPreparingDownload.value = false;
isDownloading.value = false;
downloadingKind.value = null;
downloadProgress.value = 0.0;
update(['word_info_download']);
rethrow;
}
}