Show season number in MediaFragment

This commit is contained in:
Jannik 2022-03-19 13:10:36 +01:00
parent be1c001942
commit ab660d0ae7
Signed by: Seil0
GPG Key ID: E8459F3723C52C24
2 changed files with 18 additions and 4 deletions

View File

@ -11,6 +11,7 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.mosad.teapod.R
import org.mosad.teapod.databinding.FragmentMediaEpisodesBinding import org.mosad.teapod.databinding.FragmentMediaEpisodesBinding
import org.mosad.teapod.ui.activity.main.MainActivity import org.mosad.teapod.ui.activity.main.MainActivity
import org.mosad.teapod.ui.activity.main.viewmodel.MediaFragmentViewModel import org.mosad.teapod.ui.activity.main.viewmodel.MediaFragmentViewModel
@ -47,7 +48,11 @@ class MediaFragmentEpisodes : Fragment() {
if (model.seasonsCrunchy.total < 2) { if (model.seasonsCrunchy.total < 2) {
binding.buttonSeasonSelection.visibility = View.GONE binding.buttonSeasonSelection.visibility = View.GONE
} else { } else {
binding.buttonSeasonSelection.text = model.currentSeasonCrunchy.title binding.buttonSeasonSelection.text = getString(
R.string.season_number_title,
model.currentSeasonCrunchy.seasonNumber,
model.currentSeasonCrunchy.title
)
binding.buttonSeasonSelection.setOnClickListener { v -> binding.buttonSeasonSelection.setOnClickListener { v ->
showSeasonSelection(v) showSeasonSelection(v)
} }
@ -64,7 +69,12 @@ class MediaFragmentEpisodes : Fragment() {
// TODO replace with Exposed dropdown menu: https://material.io/components/menus/android#exposed-dropdown-menus // TODO replace with Exposed dropdown menu: https://material.io/components/menus/android#exposed-dropdown-menus
val popup = PopupMenu(requireContext(), v) val popup = PopupMenu(requireContext(), v)
model.seasonsCrunchy.items.forEach { season -> model.seasonsCrunchy.items.forEach { season ->
popup.menu.add(season.title).also { popup.menu.add(getString(
R.string.season_number_title,
season.seasonNumber,
season.title
)
).also {
it.setOnMenuItemClickListener { it.setOnMenuItemClickListener {
onSeasonSelected(season.id) onSeasonSelected(season.id)
false false
@ -86,7 +96,11 @@ class MediaFragmentEpisodes : Fragment() {
// load the new season // load the new season
lifecycleScope.launch { lifecycleScope.launch {
model.setCurrentSeason(seasonId) model.setCurrentSeason(seasonId)
binding.buttonSeasonSelection.text = model.currentSeasonCrunchy.title binding.buttonSeasonSelection.text = getString(
R.string.season_number_title,
model.currentSeasonCrunchy.seasonNumber,
model.currentSeasonCrunchy.title
)
adapterRecEpisodes.notifyDataSetChanged() adapterRecEpisodes.notifyDataSetChanged()
} }
} }

View File

@ -34,6 +34,7 @@
<item quantity="one">%d Minute</item> <item quantity="one">%d Minute</item>
<item quantity="other">%d Minutes</item> <item quantity="other">%d Minutes</item>
</plurals> </plurals>
<string name="season_number_title" translatable="false">S%1$d - %2$s</string>
<string name="similar_titles">Similar titles</string> <string name="similar_titles">Similar titles</string>
<string name="component_episode_title">Ep. %1$s %2$s</string> <string name="component_episode_title">Ep. %1$s %2$s</string>
<string name="component_episode_title_sub">Ep. %1$s %2$s (Sub)</string> <string name="component_episode_title_sub">Ep. %1$s %2$s (Sub)</string>
@ -67,7 +68,6 @@
<string name="info_about" translatable="false">Teapod by @Seil0</string> <string name="info_about" translatable="false">Teapod by @Seil0</string>
<string name="info_about_desc">Version %1$s (%2$s)</string> <string name="info_about_desc">Version %1$s (%2$s)</string>
<!-- about fragment --> <!-- about fragment -->
<string name="version">Version</string> <string name="version">Version</string>
<string name="version_desc" translatable="false">%1$s (%2$s)</string> <string name="version_desc" translatable="false">%1$s (%2$s)</string>