From 777445d352c7e6fb4647ab7a2899653001316ccd Mon Sep 17 00:00:00 2001 From: Natanel Shitrit <65548905+Natanel-Shitrit@users.noreply.github.com> Date: Mon, 21 Aug 2023 22:41:51 +0300 Subject: [PATCH] feat: show episode size in extra info (#477) * Show episode size if extra info is enabled * Remove unnecessary stuff --- .../fragments/EpisodeBottomSheetFragment.kt | 14 ++++++++++++++ .../src/main/res/layout/episode_bottom_sheet.xml | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/fragments/EpisodeBottomSheetFragment.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/fragments/EpisodeBottomSheetFragment.kt index 1f049b6e..b230f2e9 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/fragments/EpisodeBottomSheetFragment.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/fragments/EpisodeBottomSheetFragment.kt @@ -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 diff --git a/app/phone/src/main/res/layout/episode_bottom_sheet.xml b/app/phone/src/main/res/layout/episode_bottom_sheet.xml index 7876d911..b3b2c99c 100644 --- a/app/phone/src/main/res/layout/episode_bottom_sheet.xml +++ b/app/phone/src/main/res/layout/episode_bottom_sheet.xml @@ -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" /> +