diff --git a/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt b/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt index 3e25b326..aab1aa5f 100644 --- a/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt +++ b/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeFragment.kt @@ -187,11 +187,15 @@ class OfflineAnimeFragment : Fragment(), OfflineAnimeSearchListener { // Get the OfflineAnimeModel that was clicked val item = adapter.getItem(position) as OfflineAnimeModel val downloads = downloadManager.animeDownloadedTypes - println(downloads) val media = downloadManager.animeDownloadedTypes.firstOrNull { it.title == item.title } media?.let { - MediaDetailsActivity.mediaSingleton = getMedia(it) + val mediaModel = getMedia(it) + if (mediaModel == null) { + snackString("Error loading media.json") + return@let + } + MediaDetailsActivity.mediaSingleton = mediaModel startActivity( Intent(requireContext(), MediaDetailsActivity::class.java) .putExtra("download", true) diff --git a/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt b/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt index 0600e293..17955dae 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/SelectorDialogFragment.kt @@ -26,6 +26,7 @@ import ani.dantotsu.media.MediaDetailsViewModel import ani.dantotsu.others.Download.download import ani.dantotsu.parsers.VideoExtractor import ani.dantotsu.parsers.VideoType +import com.google.firebase.crashlytics.FirebaseCrashlytics import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -255,11 +256,15 @@ class SelectorDialogFragment : BottomSheetDialogFragment() { } fun perfromClick(position: Int) { - val extractor = links[position] - media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedExtractor = - extractor.server.name - media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedVideo = 0 - startExoplayer(media!!) + try { //bandaid fix for crash + val extractor = links[position] + media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedExtractor = + extractor.server.name + media!!.anime!!.episodes!![media!!.anime!!.selectedEpisode!!]?.selectedVideo = 0 + startExoplayer(media!!) + } catch (e: Exception) { + FirebaseCrashlytics.getInstance().recordException(e) + } } private inner class StreamViewHolder(val binding: ItemStreamBinding) :