feat: show episode size in extra info (#477)
* Show episode size if extra info is enabled * Remove unnecessary stuff
This commit is contained in:
parent
fc3b8f3c5a
commit
777445d352
2 changed files with 22 additions and 0 deletions
|
@ -2,6 +2,7 @@ package dev.jdtech.jellyfin.fragments
|
|||
|
||||
import android.app.DownloadManager
|
||||
import android.os.Bundle
|
||||
import android.text.format.Formatter
|
||||
import android.util.TypedValue
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
@ -19,6 +20,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
|
|||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dev.jdtech.jellyfin.AppPreferences
|
||||
import dev.jdtech.jellyfin.R
|
||||
import dev.jdtech.jellyfin.bindCardItemImage
|
||||
import dev.jdtech.jellyfin.databinding.EpisodeBottomSheetBinding
|
||||
|
@ -40,6 +42,7 @@ import java.text.DateFormat
|
|||
import java.time.ZoneOffset
|
||||
import java.util.Date
|
||||
import java.util.UUID
|
||||
import javax.inject.Inject
|
||||
import android.R as AndroidR
|
||||
import com.google.android.material.R as MaterialR
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
|
@ -54,6 +57,9 @@ class EpisodeBottomSheetFragment : BottomSheetDialogFragment() {
|
|||
|
||||
private lateinit var downloadPreparingDialog: AlertDialog
|
||||
|
||||
@Inject
|
||||
lateinit var appPreferences: AppPreferences
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
|
@ -230,6 +236,9 @@ class EpisodeBottomSheetFragment : BottomSheetDialogFragment() {
|
|||
|
||||
private fun bindUiStateNormal(uiState: EpisodeBottomSheetViewModel.UiState.Normal) {
|
||||
uiState.apply {
|
||||
val size = episode.sources.getOrNull(0)?.size?.let {
|
||||
Formatter.formatFileSize(requireContext(), it)
|
||||
}
|
||||
val canDownload = episode.canDownload && episode.sources.any { it.type == FindroidSourceType.REMOTE }
|
||||
val canDelete = episode.sources.any { it.type == FindroidSourceType.LOCAL }
|
||||
|
||||
|
@ -284,6 +293,11 @@ class EpisodeBottomSheetFragment : BottomSheetDialogFragment() {
|
|||
binding.communityRating.text = episode.communityRating.toString()
|
||||
binding.missingIcon.isVisible = false
|
||||
|
||||
if (appPreferences.displayExtraInfo) {
|
||||
size?.let { binding.size.text = it }
|
||||
binding.size.isVisible = size != null
|
||||
}
|
||||
|
||||
bindCardItemImage(binding.episodeImage, episode)
|
||||
}
|
||||
binding.loadingIndicator.isVisible = false
|
||||
|
|
|
@ -154,11 +154,19 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="4dp"
|
||||
android:gravity="bottom"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
app:drawableStartCompat="@drawable/ic_star"
|
||||
app:drawableTint="@color/yellow"
|
||||
tools:text="8.8" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:visibility="gone"
|
||||
tools:text="42.42 TB" />
|
||||
</LinearLayout>
|
||||
|
||||
<include
|
||||
|
|
Loading…
Reference in a new issue