feat: show episode size in extra info (#477)

* Show episode size if extra info is enabled

* Remove unnecessary stuff
This commit is contained in:
Natanel Shitrit 2023-08-21 22:41:51 +03:00 committed by GitHub
parent fc3b8f3c5a
commit 777445d352
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 0 deletions

View file

@ -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

View file

@ -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