crash fixes

This commit is contained in:
rebelonion 2024-01-18 01:18:38 -06:00
parent 664b5a4bdd
commit 39fc508cfe
2 changed files with 16 additions and 7 deletions

View file

@ -187,11 +187,15 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener {
// Get the OfflineAnimeModel that was clicked // Get the OfflineAnimeModel that was clicked
val item = adapter.getItem(position) as OfflineAnimeModel val item = adapter.getItem(position) as OfflineAnimeModel
val downloads = downloadManager.animeDownloadedTypes val downloads = downloadManager.animeDownloadedTypes
println(downloads)
val media = val media =
downloadManager.animeDownloadedTypes.firstOrNull { it.title == item.title } downloadManager.animeDownloadedTypes.firstOrNull { it.title == item.title }
media?.let { media?.let {
MediaDetailsActivity.mediaSingleton = getMedia(it) val mediaModel = getMedia(it)
if (mediaModel == null) {
snackString("Error loading media.json")
return@let
}
MediaDetailsActivity.mediaSingleton = mediaModel
startActivity( startActivity(
Intent(requireContext(), MediaDetailsActivity::class.java) Intent(requireContext(), MediaDetailsActivity::class.java)
.putExtra("download", true) .putExtra("download", true)

View file

@ -26,6 +26,7 @@ import ani.dantotsu.media.MediaDetailsViewModel
import ani.dantotsu.others.Download.download import ani.dantotsu.others.Download.download
import ani.dantotsu.parsers.VideoExtractor import ani.dantotsu.parsers.VideoExtractor
import ani.dantotsu.parsers.VideoType import ani.dantotsu.parsers.VideoType
import com.google.firebase.crashlytics.FirebaseCrashlytics
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -255,11 +256,15 @@ class SelectorDialogFragment : BottomSheetDialogFragment() {
} }
fun perfromClick(position: Int) { fun perfromClick(position: Int) {
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 =
extractor.server.name extractor.server.name
media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedVideo = 0 media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedVideo = 0
startExoplayer(media!!) startExoplayer(media!!)
} catch (e: Exception) {
FirebaseCrashlytics.getInstance().recordException(e)
}
} }
private inner class StreamViewHolder(val binding: ItemStreamBinding) : private inner class StreamViewHolder(val binding: ItemStreamBinding) :