From ff1b1f5345c02e29432af8b7dee71a934b7a4fa6 Mon Sep 17 00:00:00 2001 From: TwistedUmbrellaX Date: Wed, 20 Mar 2024 09:13:08 -0400 Subject: [PATCH] chore: resolve media SetTextI18n --- .../ani/dantotsu/media/MediaInfoFragment.kt | 29 ++++++++++++------- .../dantotsu/media/MediaListDialogFragment.kt | 8 ++--- .../media/MediaListDialogSmallFragment.kt | 8 +++-- .../ani/dantotsu/media/ProgressAdapter.kt | 2 +- .../java/ani/dantotsu/media/SourceAdapter.kt | 2 -- app/src/main/res/values/strings.xml | 2 ++ 6 files changed, 31 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt b/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt index 06fb3aa9..9ac855bf 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt @@ -37,7 +37,7 @@ import java.io.Serializable import java.net.URLEncoder -@SuppressLint("SetTextI18n") + class MediaInfoFragment : Fragment() { private var _binding: FragmentMediaInfoBinding? = null private val binding get() = _binding!! @@ -46,6 +46,8 @@ class MediaInfoFragment : Fragment() { private var type = "ANIME" private val genreModel: GenresViewModel by activityViewModels() + private val tripleTab = "\t\t\t" + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -78,14 +80,16 @@ class MediaInfoFragment : Fragment() { binding.mediaInfoProgressBar.visibility = View.GONE binding.mediaInfoContainer.visibility = View.VISIBLE - binding.mediaInfoName.text = "\t\t\t" + (media.name ?: media.nameRomaji) + val infoName = tripleTab + (media.name ?: media.nameRomaji) + binding.mediaInfoName.text = infoName binding.mediaInfoName.setOnLongClickListener { copyToClipboard(media.name ?: media.nameRomaji) true } if (media.name != null) binding.mediaInfoNameRomajiContainer.visibility = View.VISIBLE - binding.mediaInfoNameRomaji.text = "\t\t\t" + media.nameRomaji + val infoNameRomanji = tripleTab + media.nameRomaji + binding.mediaInfoNameRomaji.text = infoNameRomanji binding.mediaInfoNameRomaji.setOnLongClickListener { copyToClipboard(media.nameRomaji) true @@ -125,8 +129,9 @@ class MediaInfoFragment : Fragment() { } binding.mediaInfoDurationContainer.visibility = View.VISIBLE binding.mediaInfoSeasonContainer.visibility = View.VISIBLE - binding.mediaInfoSeason.text = - (media.anime.season ?: "??") + " " + (media.anime.seasonYear ?: "??") + val seasonInfo = "${(media.anime.season ?: "??")} ${(media.anime.seasonYear ?: "??")}" + binding.mediaInfoSeason.text = seasonInfo + if (media.anime.mainStudio != null) { binding.mediaInfoStudioContainer.visibility = View.VISIBLE binding.mediaInfoStudio.text = media.anime.mainStudio!!.name @@ -160,9 +165,12 @@ class MediaInfoFragment : Fragment() { } } binding.mediaInfoTotalTitle.setText(R.string.total_eps) - binding.mediaInfoTotal.text = - if (media.anime.nextAiringEpisode != null) (media.anime.nextAiringEpisode.toString() + " | " + (media.anime.totalEpisodes - ?: "~").toString()) else (media.anime.totalEpisodes ?: "~").toString() + val infoTotal = if (media.anime.nextAiringEpisode != null) + "${media.anime.nextAiringEpisode} | ${media.anime.totalEpisodes ?: "~"}" + else + (media.anime.totalEpisodes ?: "~").toString() + binding.mediaInfoTotal.text = infoTotal + } else if (media.manga != null) { type = "MANGA" binding.mediaInfoTotalTitle.setText(R.string.total_chaps) @@ -189,8 +197,9 @@ class MediaInfoFragment : Fragment() { (media.description ?: "null").replace("\\n", "
").replace("\\\"", "\""), HtmlCompat.FROM_HTML_MODE_LEGACY ) - binding.mediaInfoDescription.text = - "\t\t\t" + if (desc.toString() != "null") desc else getString(R.string.no_description_available) + val infoDesc = tripleTab + if (desc.toString() != "null") desc else getString(R.string.no_description_available) + binding.mediaInfoDescription.text = infoDesc + binding.mediaInfoDescription.setOnClickListener { if (binding.mediaInfoDescription.maxLines == 5) { ObjectAnimator.ofInt(binding.mediaInfoDescription, "maxLines", 100) diff --git a/app/src/main/java/ani/dantotsu/media/MediaListDialogFragment.kt b/app/src/main/java/ani/dantotsu/media/MediaListDialogFragment.kt index 0430709b..e8c15685 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaListDialogFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaListDialogFragment.kt @@ -36,7 +36,6 @@ class MediaListDialogFragment : BottomSheetDialogFragment() { return binding.root } - @SuppressLint("SetTextI18n") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { binding.mediaListContainer.updateLayoutParams { bottomMargin += navBarHeight } var media: Media? @@ -168,9 +167,10 @@ class MediaListDialogFragment : BottomSheetDialogFragment() { val init = if (binding.mediaListProgress.text.toString() != "") binding.mediaListProgress.text.toString() .toInt() else 0 - if (init < (total - ?: 5000) - ) binding.mediaListProgress.setText((init + 1).toString()) + if (init < (total ?: 5000)) { + val progressText = "${init + 1}" + binding.mediaListProgress.setText(progressText) + } if (init + 1 == (total ?: 5000)) { binding.mediaListStatus.setText(statusStrings[2], false) onComplete() diff --git a/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt b/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt index 982eca8e..8848c125 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt @@ -54,7 +54,6 @@ class MediaListDialogSmallFragment : BottomSheetDialogFragment() { } - @SuppressLint("SetTextI18n") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { binding.mediaListContainer.updateLayoutParams { bottomMargin += navBarHeight } val scope = viewLifecycleOwner.lifecycleScope @@ -68,7 +67,7 @@ class MediaListDialogSmallFragment : BottomSheetDialogFragment() { MAL.query.deleteList(media.anime != null, media.idMAL) } catch (e: Exception) { withContext(Dispatchers.Main) { - snackString("Failed to delete because of... ${e.message}") + snackString(getString(R.string.delete_fail_reason, e.message)) } return@withContext } @@ -154,7 +153,10 @@ class MediaListDialogSmallFragment : BottomSheetDialogFragment() { val init = if (binding.mediaListProgress.text.toString() != "") binding.mediaListProgress.text.toString() .toInt() else 0 - if (init < (total ?: 5000)) binding.mediaListProgress.setText((init + 1).toString()) + if (init < (total ?: 5000)) { + val progressText = "${init + 1}" + binding.mediaListProgress.setText(progressText) + } if (init + 1 == (total ?: 5000)) { binding.mediaListStatus.setText(statusStrings[2], false) } diff --git a/app/src/main/java/ani/dantotsu/media/ProgressAdapter.kt b/app/src/main/java/ani/dantotsu/media/ProgressAdapter.kt index 081d47fc..eb11c29f 100644 --- a/app/src/main/java/ani/dantotsu/media/ProgressAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/ProgressAdapter.kt @@ -27,7 +27,7 @@ class ProgressAdapter(private val horizontal: Boolean = true, searched: Boolean) return ProgressViewHolder(binding) } - @SuppressLint("SetTextI18n", "ClickableViewAccessibility") + @SuppressLint("ClickableViewAccessibility") override fun onBindViewHolder(holder: ProgressViewHolder, position: Int) { val progressBar = holder.binding.root bar = progressBar diff --git a/app/src/main/java/ani/dantotsu/media/SourceAdapter.kt b/app/src/main/java/ani/dantotsu/media/SourceAdapter.kt index c1dd18b2..e56adde6 100644 --- a/app/src/main/java/ani/dantotsu/media/SourceAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/SourceAdapter.kt @@ -1,6 +1,5 @@ package ani.dantotsu.media -import android.annotation.SuppressLint import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView @@ -22,7 +21,6 @@ abstract class SourceAdapter( return SourceViewHolder(binding) } - @SuppressLint("SetTextI18n") override fun onBindViewHolder(holder: SourceViewHolder, position: Int) { val binding = holder.binding val character = sources[position] diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 910d9f4f..13da0019 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -711,4 +711,6 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc Anilist notifications update frequency : %1$s Comment notifications update frequency : %1$s Activities + + Failed to delete because of… %1$s