Fix downloads and favorites selection

This commit is contained in:
FooIbar committed 2023-11-27 23:34:01 +08:00
1 parent 175e1d7df9
commit ff8e1b7d28
2 files changed
+7 -7

No files matched your search

@@ -500,22 +500,22 @@ fun DownloadsScreen(navigator: DestinationsNavigator) {
throw CancellationException()
}
onClick(Icons.Default.PlayArrow) {
val gidList = checkedInfoMap.run { values.also { clear() } }.mapToLongArray(DownloadInfo::gid)
val gidList = checkedInfoMap.run { toMap().values.also { clear() } }.mapToLongArray(DownloadInfo::gid)
val intent = Intent(activity, DownloadService::class.java)
intent.action = DownloadService.ACTION_START_RANGE
intent.putExtra(DownloadService.KEY_GID_LIST, gidList)
ContextCompat.startForegroundService(context, intent)
}
onClick(Icons.Default.Pause) {
val gidList = checkedInfoMap.run { values.also { clear() } }.mapToLongArray(DownloadInfo::gid)
val gidList = checkedInfoMap.run { toMap().values.also { clear() } }.mapToLongArray(DownloadInfo::gid)
DownloadManager.stopRangeDownload(gidList)
}
onClick(Icons.Default.Delete) {
val infoList = checkedInfoMap.run { values.also { clear() } }
val infoList = checkedInfoMap.run { toMap().values.also { clear() } }
dialogState.confirmRemoveDownloadRange(infoList)
}
onClick(Icons.AutoMirrored.Default.DriveFileMove) {
val infoList = checkedInfoMap.run { values.also { clear() } }
val infoList = checkedInfoMap.run { toMap().values.also { clear() } }
dialogState.showMoveDownloadLabelList(infoList)
}
}
@@ -369,11 +369,11 @@ fun FavouritesScreen(navigator: DestinationsNavigator) {
throw CancellationException()
}
onClick(Icons.Default.Download) {
val info = checkedInfoMap.run { values.also { clear() } }
val info = checkedInfoMap.run { toMap().values.also { clear() } }
dialogState.startDownload(context, false, *info.toTypedArray())
}
onClick(Icons.Default.Delete) {
val info = checkedInfoMap.run { values.also { clear() } }
val info = checkedInfoMap.run { toMap().values.also { clear() } }
dialogState.awaitPermissionOrCancel(title = R.string.delete_favorites_dialog_title) {
Text(text = stringResource(R.string.delete_favorites_dialog_message, info.size))
}
@@ -396,7 +396,7 @@ fun FavouritesScreen(navigator: DestinationsNavigator) {
val index = dialogState.showSelectItem(*array, title = R.string.move_favorites_dialog_title)
val srcCat = urlBuilder.favCat
val dstCat = if (index == 0) FavListUrlBuilder.FAV_CAT_LOCAL else index - 1
val info = checkedInfoMap.run { values.also { clear() } }
val info = checkedInfoMap.run { toMap().values.also { clear() } }
if (srcCat != dstCat) {
if (srcCat == FavListUrlBuilder.FAV_CAT_LOCAL) {
// Move from local to cloud