fix: show indexNumberEnd
This commit is contained in:
parent
f074bb6e3c
commit
8a96588a88
9 changed files with 56 additions and 15 deletions
|
@ -8,6 +8,7 @@ import androidx.core.view.isVisible
|
|||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
import dev.jdtech.jellyfin.databinding.EpisodeItemBinding
|
||||
import dev.jdtech.jellyfin.databinding.SeasonHeaderBinding
|
||||
import dev.jdtech.jellyfin.models.EpisodeItem
|
||||
|
@ -37,6 +38,13 @@ class EpisodeListAdapter(
|
|||
RecyclerView.ViewHolder(binding.root) {
|
||||
fun bind(episode: FindroidEpisode) {
|
||||
binding.episode = episode
|
||||
|
||||
binding.episodeTitle.text = if (episode.indexNumberEnd == null) {
|
||||
binding.root.context.getString(CoreR.string.episode_name, episode.indexNumber, episode.name)
|
||||
} else {
|
||||
binding.root.context.getString(CoreR.string.episode_name_with_end, episode.indexNumber, episode.indexNumberEnd, episode.name)
|
||||
}
|
||||
|
||||
if (episode.playbackPositionTicks > 0) {
|
||||
binding.progressBar.layoutParams.width = TypedValue.applyDimension(
|
||||
TypedValue.COMPLEX_UNIT_DIP,
|
||||
|
|
|
@ -40,7 +40,11 @@ class HomeEpisodeListAdapter(private val onClickListener: OnClickListener) : Lis
|
|||
}
|
||||
is FindroidEpisode -> {
|
||||
binding.primaryName.text = item.seriesName
|
||||
binding.secondaryName.text = parent.resources.getString(CoreR.string.episode_name_extended, item.parentIndexNumber, item.indexNumber, item.name)
|
||||
binding.secondaryName.text = if (item.indexNumberEnd == null) {
|
||||
parent.resources.getString(CoreR.string.episode_name_extended, item.parentIndexNumber, item.indexNumber, item.name)
|
||||
} else {
|
||||
parent.resources.getString(CoreR.string.episode_name_extended_with_end, item.parentIndexNumber, item.indexNumber, item.indexNumberEnd, item.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -259,12 +259,23 @@ class EpisodeBottomSheetFragment : BottomSheetDialogFragment() {
|
|||
false -> binding.itemActions.downloadButton.isVisible = false
|
||||
}
|
||||
|
||||
binding.episodeName.text = getString(
|
||||
CoreR.string.episode_name_extended,
|
||||
episode.parentIndexNumber,
|
||||
episode.indexNumber,
|
||||
episode.name
|
||||
)
|
||||
binding.episodeName.text = if (episode.indexNumberEnd == null) {
|
||||
getString(
|
||||
CoreR.string.episode_name_extended,
|
||||
episode.parentIndexNumber,
|
||||
episode.indexNumber,
|
||||
episode.name
|
||||
)
|
||||
} else {
|
||||
getString(
|
||||
CoreR.string.episode_name_extended_with_end,
|
||||
episode.parentIndexNumber,
|
||||
episode.indexNumber,
|
||||
episode.indexNumberEnd,
|
||||
episode.name
|
||||
)
|
||||
}
|
||||
|
||||
binding.seriesName.text = episode.seriesName
|
||||
binding.overview.text = episode.overview
|
||||
binding.year.text = formatDateTime(episode.premiereDate)
|
||||
|
|
|
@ -226,12 +226,23 @@ class ShowFragment : Fragment() {
|
|||
binding.writers.text = writersString
|
||||
binding.description.text = item.overview
|
||||
binding.nextUpLayout.isVisible = nextUp != null
|
||||
binding.nextUpName.text = getString(
|
||||
CoreR.string.episode_name_extended,
|
||||
nextUp?.parentIndexNumber,
|
||||
nextUp?.indexNumber,
|
||||
nextUp?.name
|
||||
)
|
||||
if (nextUp?.indexNumberEnd == null) {
|
||||
binding.nextUpName.text = getString(
|
||||
CoreR.string.episode_name_extended,
|
||||
nextUp?.parentIndexNumber,
|
||||
nextUp?.indexNumber,
|
||||
nextUp?.name
|
||||
)
|
||||
} else {
|
||||
binding.nextUpName.text = getString(
|
||||
CoreR.string.episode_name_extended_with_end,
|
||||
nextUp?.parentIndexNumber,
|
||||
nextUp?.indexNumber,
|
||||
nextUp?.indexNumberEnd,
|
||||
nextUp?.name
|
||||
)
|
||||
}
|
||||
|
||||
binding.seasonsLayout.isVisible = seasons.isNotEmpty()
|
||||
val seasonsAdapter = binding.seasonsRecyclerView.adapter as ViewItemListAdapter
|
||||
seasonsAdapter.submitList(seasons)
|
||||
|
|
|
@ -112,7 +112,6 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:text="@{String.format(@string/episode_name, episode.indexNumber, episode.name)}"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
app:layout_constraintBottom_toTopOf="@id/episode_desc"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
|
@ -45,7 +45,9 @@
|
|||
<string name="episode_watched_indicator">Episode watched indicator</string>
|
||||
<string name="downloaded_indicator">Downloaded indicator</string>
|
||||
<string name="episode_name">%1$d. %2$s</string>
|
||||
<string name="episode_name_with_end">%1$d-%2$d. %3$s</string>
|
||||
<string name="episode_name_extended">S%1$d:E%2$d - %3$s</string>
|
||||
<string name="episode_name_extended_with_end">S%1$d:E%2$d-%3$d - %4$s</string>
|
||||
<string name="next_up">Next Up</string>
|
||||
<string name="continue_watching">Continue Watching</string>
|
||||
<string name="latest_library">Latest %1$s</string>
|
||||
|
|
|
@ -13,5 +13,6 @@ data class PlayerItem(
|
|||
val mediaSourceUri: String = "",
|
||||
val parentIndexNumber: Int? = null,
|
||||
val indexNumber: Int? = null,
|
||||
val indexNumberEnd: Int? = null,
|
||||
val externalSubtitles: List<ExternalSubtitle> = emptyList()
|
||||
) : Parcelable
|
||||
|
|
|
@ -245,8 +245,12 @@ constructor(
|
|||
.let { item ->
|
||||
if (appPreferences.displayExtendedTitle && item.parentIndexNumber != null && item.indexNumber != null && item.name != null
|
||||
)
|
||||
_currentItemTitle.value =
|
||||
_currentItemTitle.value = if (item.indexNumberEnd == null) {
|
||||
"S${item.parentIndexNumber}:E${item.indexNumber} - ${item.name}"
|
||||
} else {
|
||||
"S${item.parentIndexNumber}:E${item.indexNumber}-${item.indexNumberEnd} - ${item.name}"
|
||||
}
|
||||
|
||||
else
|
||||
_currentItemTitle.value = item.name.orEmpty()
|
||||
|
||||
|
|
|
@ -173,6 +173,7 @@ class PlayerViewModel @Inject internal constructor(
|
|||
playbackPosition = playbackPosition,
|
||||
parentIndexNumber = if (this is FindroidEpisode) parentIndexNumber else null,
|
||||
indexNumber = if (this is FindroidEpisode) indexNumber else null,
|
||||
indexNumberEnd = if (this is FindroidEpisode) indexNumberEnd else null,
|
||||
externalSubtitles = externalSubtitles
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue