feat: more thumbnails
This commit is contained in:
parent
5800dcf3e7
commit
6878d12b5c
4 changed files with 34 additions and 6 deletions
|
@ -4,6 +4,7 @@ import android.graphics.Bitmap
|
|||
import ani.dantotsu.connections.anilist.api.FuzzyDate
|
||||
import ani.dantotsu.connections.anilist.api.MediaEdge
|
||||
import ani.dantotsu.connections.anilist.api.MediaList
|
||||
import ani.dantotsu.connections.anilist.api.MediaStreamingEpisode
|
||||
import ani.dantotsu.connections.anilist.api.MediaType
|
||||
import ani.dantotsu.connections.anilist.api.Query
|
||||
import ani.dantotsu.media.anime.Anime
|
||||
|
@ -76,7 +77,7 @@ data class Media(
|
|||
var nameMAL: String? = null,
|
||||
var shareLink: String? = null,
|
||||
var selected: Selected? = null,
|
||||
|
||||
var streamingEpisodes: List<MediaStreamingEpisode>? = null,
|
||||
var idKitsu: String? = null,
|
||||
|
||||
var cameFromContinue: Boolean = false
|
||||
|
|
|
@ -31,6 +31,7 @@ import androidx.viewpager2.widget.ViewPager2
|
|||
import ani.dantotsu.FileUrl
|
||||
import ani.dantotsu.R
|
||||
import ani.dantotsu.addons.download.DownloadAddonManager
|
||||
import ani.dantotsu.connections.anilist.api.MediaStreamingEpisode
|
||||
import ani.dantotsu.databinding.FragmentAnimeWatchBinding
|
||||
import ani.dantotsu.download.DownloadedType
|
||||
import ani.dantotsu.download.DownloadsManager
|
||||
|
@ -230,6 +231,19 @@ class AnimeWatchFragment : Fragment() {
|
|||
val episodes = loadedEpisodes[media.selected!!.sourceIndex]
|
||||
if (episodes != null) {
|
||||
episodes.forEach { (i, episode) ->
|
||||
fun getThumbnail(episodes: List<MediaStreamingEpisode>): List<Pair<String, FileUrl?>> {
|
||||
return episodes.mapNotNull { episode ->
|
||||
val regex = Regex("""Episode\s*(\d+)\s*-\s*(.*)""")
|
||||
val number = episode.title?.let {
|
||||
val matchResult = regex.matchEntire(it)
|
||||
matchResult?.destructured?.component1()
|
||||
}
|
||||
number?.let { number to FileUrl[episode.thumbnail] }
|
||||
}
|
||||
}
|
||||
|
||||
val getThumbnail = getThumbnail(media.streamingEpisodes ?: emptyList())
|
||||
|
||||
if (media.anime?.fillerEpisodes != null) {
|
||||
if (media.anime!!.fillerEpisodes!!.containsKey(i)) {
|
||||
episode.title =
|
||||
|
@ -247,8 +261,8 @@ class AnimeWatchFragment : Fragment() {
|
|||
) media.anime!!.kitsuEpisodes!![i]?.title
|
||||
?: episode.title else episode.title
|
||||
?: media.anime!!.kitsuEpisodes!![i]?.title ?: episode.title
|
||||
episode.thumb = media.anime!!.kitsuEpisodes!![i]?.thumb
|
||||
?: FileUrl[media.cover]
|
||||
episode.thumb = getThumbnail.find { it.first == i }?.second
|
||||
?: media.anime!!.kitsuEpisodes!![i]?.thumb ?: episode.thumb
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue