From 1ba67280a6edc4194fd9f26b7f1edc402530b588 Mon Sep 17 00:00:00 2001 From: Finnley Somdahl <87634197+rebelonion@users.noreply.github.com> Date: Fri, 12 Jan 2024 21:00:05 -0600 Subject: [PATCH] allow episode in title if no other characters --- .../main/java/ani/dantotsu/media/anime/AnimeNameAdapter.kt | 7 +++++++ .../java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt | 4 ++-- .../main/java/ani/dantotsu/media/anime/EpisodeAdapters.kt | 2 +- .../main/java/ani/dantotsu/media/anime/ExoplayerView.kt | 7 +------ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/anime/AnimeNameAdapter.kt b/app/src/main/java/ani/dantotsu/media/anime/AnimeNameAdapter.kt index f056c3f6..95821b15 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/AnimeNameAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/AnimeNameAdapter.kt @@ -29,5 +29,12 @@ class AnimeNameAdapter { null } } + + fun removeEpisodeNumber(text: String): String { + val regexPattern = Regex(episodeRegex, RegexOption.IGNORE_CASE) + return text.replace(regexPattern, "").ifEmpty { + text + } + } } } diff --git a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt index 5653d6f3..d6b95529 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/AnimeWatchAdapter.kt @@ -345,14 +345,14 @@ fun handleEpisodes() { } val ep = media.anime.episodes!![continueEp]!! - val cleanedTitle = ep.title?.replace(Regex(AnimeNameAdapter.episodeRegex, RegexOption.IGNORE_CASE), "") + val cleanedTitle = ep.title?.let { AnimeNameAdapter.removeEpisodeNumber(it) } binding.itemEpisodeImage.loadImage( ep.thumb ?: FileUrl[media.banner ?: media.cover], 0 ) if (ep.filler) binding.itemEpisodeFillerView.visibility = View.VISIBLE binding.animeSourceContinueText.text = - currActivity()!!.getString(R.string.continue_episode) + "${ep.number}${if (ep.filler) " - Filler" else ""}${if (cleanedTitle != null) "\n$cleanedTitle" else ""}" + currActivity()!!.getString(R.string.continue_episode) + "${ep.number}${if (ep.filler) " - Filler" else ""}${"\n$cleanedTitle"}" binding.animeSourceContinue.setOnClickListener { fragment.onEpisodeClick(continueEp) } diff --git a/app/src/main/java/ani/dantotsu/media/anime/EpisodeAdapters.kt b/app/src/main/java/ani/dantotsu/media/anime/EpisodeAdapters.kt index 8e5afb51..1d617881 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/EpisodeAdapters.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/EpisodeAdapters.kt @@ -78,7 +78,7 @@ class EpisodeAdapter( override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { val ep = arr[position] val title = if (!ep.title.isNullOrEmpty() && ep.title != "null") { - (ep.title as? String)?.replaceFirst(Regex(AnimeNameAdapter.episodeRegex, RegexOption.IGNORE_CASE), "") + ep.title?.let { AnimeNameAdapter.removeEpisodeNumber(it) } } else { ep.number } ?: "" diff --git a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt index 255542d0..609da9f3 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt @@ -957,13 +957,8 @@ class ExoplayerView : AppCompatActivity(), Player.Listener, SessionAvailabilityL episodeTitleArr.add("${if (!episode.title.isNullOrEmpty() && episode.title != "null") "" else "numeric :"}${episode.number}${if (episode.filler) " [Filler]" else ""}${if (!episode.title.isNullOrEmpty() && episode.title != "null") " : " + episode.title else ""}") } - val regexPattern = Regex(AnimeNameAdapter.episodeRegex, RegexOption.IGNORE_CASE) - for (i in episodeTitleArr.indices) { - val replaced = episodeTitleArr[i].replace(regexPattern, "") - if (replaced.isNotBlank()) { - episodeTitleArr[i] = replaced - } + episodeTitleArr[i] = AnimeNameAdapter.removeEpisodeNumber(episodeTitleArr[i]) }