download manager fix

This commit is contained in:
rebelonion 2024-01-18 20:31:53 -06:00
parent 4f07421df7
commit 3bd9dc031a

View file

@ -159,7 +159,7 @@ class SelectorDialogFragment : BottomSheetDialogFragment() {
scope.launch { scope.launch {
adapter.add(it) adapter.add(it)
if (model.watchSources!!.isDownloadedSource(media?.selected!!.sourceIndex)) { if (model.watchSources!!.isDownloadedSource(media?.selected!!.sourceIndex)) {
adapter.perfromClick(0) adapter.performClick(0)
} }
} }
} }
@ -181,7 +181,7 @@ class SelectorDialogFragment : BottomSheetDialogFragment() {
media!!.anime?.episodes?.set(media!!.anime?.selectedEpisode!!, ep) media!!.anime?.episodes?.set(media!!.anime?.selectedEpisode!!, ep)
adapter.addAll(ep.extractors) adapter.addAll(ep.extractors)
if (model.watchSources!!.isDownloadedSource(media?.selected!!.sourceIndex)) { if (model.watchSources!!.isDownloadedSource(media?.selected!!.sourceIndex)) {
adapter.perfromClick(0) adapter.performClick(0)
} }
binding.selectorProgressBar.visibility = View.GONE binding.selectorProgressBar.visibility = View.GONE
} }
@ -255,7 +255,7 @@ class SelectorDialogFragment : BottomSheetDialogFragment() {
notifyItemRangeInserted(0, extractors.size) notifyItemRangeInserted(0, extractors.size)
} }
fun perfromClick(position: Int) { fun performClick(position: Int) {
try { //bandaid fix for crash try { //bandaid fix for crash
val extractor = links[position] val extractor = links[position]
media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedExtractor = media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedExtractor =
@ -300,28 +300,37 @@ class SelectorDialogFragment : BottomSheetDialogFragment() {
position position
binding.urlDownload.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS) binding.urlDownload.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)
val episode = media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!! val episode = media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!
val video = val selectedVideo =
if (extractor.videos.size > episode.selectedVideo) extractor.videos[episode.selectedVideo] else null if (extractor.videos.size > episode.selectedVideo) extractor.videos[episode.selectedVideo] else null
if (video != null) { if (selectedVideo != null) {
Helper.startAnimeDownloadService( Helper.startAnimeDownloadService(
requireActivity(), requireActivity(),
media!!.mainName(), media!!.mainName(),
episode.number, episode.number,
video, selectedVideo,
null, null,
media, media,
episode.thumb?.url ?: media!!.banner ?: media!!.cover episode.thumb?.url ?: media!!.banner ?: media!!.cover
) )
} else {
snackString("No Video Selected")
} }
dismiss() dismiss()
} }
binding.urlDownload.setOnLongClickListener { binding.urlDownload.setOnLongClickListener {
binding.urlDownload.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)
if ((loadData<Int>("settings_download_manager") ?: 0) != 0) { if ((loadData<Int>("settings_download_manager") ?: 0) != 0) {
media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!.selectedExtractor =
extractor.server.name
media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!.selectedVideo =
position
download( download(
requireActivity(), requireActivity(),
media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!, media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]!!,
media!!.userPreferredName media!!.userPreferredName
) )
} else {
snackString("No Download Manager Selected")
} }
true true
} }