fix: some missing thumbnails
This commit is contained in:
parent
e52ea2628a
commit
5473ac8238
4 changed files with 37 additions and 39 deletions
|
@ -102,7 +102,7 @@ class AnilistMutations {
|
|||
?: (currContext()?.getString(ani.dantotsu.R.string.success) ?: "Success")
|
||||
}
|
||||
suspend fun postMessage(userId: Int, text: String, edit: Int? = null,isPrivate: Boolean = false): String {
|
||||
val encodedText = text.stringSanitizer()
|
||||
val encodedText = text.replace("","").stringSanitizer()
|
||||
val query = "mutation{SaveMessageActivity(${if (edit != null) "id:$edit," else ""} recipientId:$userId,message:$encodedText,private:$isPrivate){id}}"
|
||||
val result = executeQuery<JsonObject>(query)
|
||||
val errors = result?.get("errors")
|
||||
|
|
|
@ -33,9 +33,6 @@ class CharacterAdapter(
|
|||
binding.itemCompactRelation.text = whitespace
|
||||
binding.itemCompactImage.loadImage(character.image)
|
||||
binding.itemCompactTitle.text = character.name
|
||||
binding.root.setOnClickListener {
|
||||
copyToClipboard(character.name ?: "")
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int = characterList.size
|
||||
|
@ -59,6 +56,7 @@ class CharacterAdapter(
|
|||
).toBundle()
|
||||
)
|
||||
}
|
||||
itemView.setOnLongClickListener { copyToClipboard(characterList[bindingAdapterPosition].name ?: ""); true }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -214,11 +214,11 @@ class AnimeWatchFragment : Fragment() {
|
|||
if (offline) {
|
||||
media.selected!!.sourceIndex = model.watchSources!!.list.lastIndex
|
||||
} else {
|
||||
awaitAll(
|
||||
//async { model.loadKitsuEpisodes(media) }, if someday anify dies
|
||||
async { model.loadFillerEpisodes(media) },
|
||||
async { model.loadAnifyEpisodes(media.id)}
|
||||
)
|
||||
val kitsuEpisodes = async { model.loadKitsuEpisodes(media) }
|
||||
val anifyEpisodes = async { model.loadAnifyEpisodes(media.id) }
|
||||
val fillerEpisodes = async { model.loadFillerEpisodes(media) }
|
||||
|
||||
awaitAll(kitsuEpisodes, anifyEpisodes, fillerEpisodes)
|
||||
}
|
||||
model.loadEpisodes(media, media.selected!!.sourceIndex)
|
||||
}
|
||||
|
@ -233,6 +233,18 @@ class AnimeWatchFragment : Fragment() {
|
|||
val episodes = loadedEpisodes[media.selected!!.sourceIndex]
|
||||
if (episodes != null) {
|
||||
episodes.forEach { (i, episode) ->
|
||||
if (media.anime?.anifyEpisodes != null) {
|
||||
if (media.anime!!.anifyEpisodes!!.containsKey(i)) {
|
||||
episode.desc = media.anime!!.anifyEpisodes!![i]?.desc ?: episode.desc
|
||||
episode.title = if (MediaNameAdapter.removeEpisodeNumberCompletely(
|
||||
episode.title ?: ""
|
||||
).isBlank()
|
||||
) media.anime!!.anifyEpisodes!![i]?.title ?: episode.title else episode.title
|
||||
?: media.anime!!.anifyEpisodes!![i]?.title ?: episode.title
|
||||
episode.thumb = media.anime!!.anifyEpisodes!![i]?.thumb ?: episode.thumb
|
||||
|
||||
}
|
||||
}
|
||||
if (media.anime?.fillerEpisodes != null) {
|
||||
if (media.anime!!.fillerEpisodes!!.containsKey(i)) {
|
||||
episode.title =
|
||||
|
@ -251,18 +263,6 @@ class AnimeWatchFragment : Fragment() {
|
|||
episode.thumb = media.anime!!.kitsuEpisodes!![i]?.thumb ?: episode.thumb
|
||||
}
|
||||
}
|
||||
if (media.anime?.anifyEpisodes != null) {
|
||||
if (media.anime!!.anifyEpisodes!!.containsKey(i)) {
|
||||
episode.desc = media.anime!!.anifyEpisodes!![i]?.desc ?: episode.desc
|
||||
episode.title = if (MediaNameAdapter.removeEpisodeNumberCompletely(
|
||||
episode.title ?: ""
|
||||
).isBlank()
|
||||
) media.anime!!.anifyEpisodes!![i]?.title ?: episode.title else episode.title
|
||||
?: media.anime!!.anifyEpisodes!![i]?.title ?: episode.title
|
||||
episode.thumb = media.anime!!.anifyEpisodes!![i]?.thumb ?: episode.thumb
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
media.anime?.episodes = episodes
|
||||
|
||||
|
|
|
@ -10,37 +10,37 @@ import kotlinx.serialization.json.JsonArray
|
|||
import kotlinx.serialization.json.decodeFromJsonElement
|
||||
|
||||
object Anify {
|
||||
suspend fun fetchAndParseMetadata(id :Int): Map<String, Episode>? {
|
||||
suspend fun fetchAndParseMetadata(id :Int): Map<String, Episode> {
|
||||
val response = client.get("https://api.anify.tv/content-metadata/$id")
|
||||
.parsed<JsonArray>().map {
|
||||
Mapper.json.decodeFromJsonElement<ContentMetadata>(it)
|
||||
Mapper.json.decodeFromJsonElement<AnifyElement>(it)
|
||||
}
|
||||
return response.first().data.associate {
|
||||
return response.firstOrNull()?.data?.associate {
|
||||
it.number.toString() to Episode(
|
||||
number = it.number.toString(),
|
||||
title = it.title,
|
||||
desc = it.description,
|
||||
thumb = FileUrl[it.img],
|
||||
filler = it.isFiller,
|
||||
)
|
||||
}
|
||||
} ?: emptyMap()
|
||||
}
|
||||
@Serializable
|
||||
data class ContentMetadata(
|
||||
@SerialName("providerId") val providerId: String,
|
||||
@SerialName("data") val data: List<ProviderData>
|
||||
data class AnifyElement (
|
||||
@SerialName("providerId")
|
||||
val providerID: String? = null,
|
||||
val data: List<Datum>? = null
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class ProviderData(
|
||||
@SerialName("id") val id: String,
|
||||
@SerialName("description") val description: String,
|
||||
@SerialName("hasDub") val hasDub: Boolean,
|
||||
@SerialName("img") val img: String,
|
||||
@SerialName("isFiller") val isFiller: Boolean,
|
||||
@SerialName("number") val number: Int,
|
||||
@SerialName("title") val title: String,
|
||||
@SerialName("updatedAt") val updatedAt: Long,
|
||||
@SerialName("rating") val rating: Double? = null
|
||||
data class Datum (
|
||||
val id: String? = null,
|
||||
val description: String? = null,
|
||||
val hasDub: Boolean? = null,
|
||||
val img: String? = null,
|
||||
val isFiller: Boolean? = null,
|
||||
val number: Long? = null,
|
||||
val title: String? = null,
|
||||
val updatedAt: Long? = null,
|
||||
val rating: Double? = null
|
||||
)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue