diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/HomeFragment.kt b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/HomeFragment.kt index f38fc00..1911fe5 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/HomeFragment.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/HomeFragment.kt @@ -42,9 +42,12 @@ import kotlinx.coroutines.launch import org.mosad.teapod.R import org.mosad.teapod.databinding.FragmentHomeBinding import org.mosad.teapod.ui.activity.main.viewmodel.HomeViewModel -import org.mosad.teapod.util.* import org.mosad.teapod.util.adapter.MediaEpisodeListAdapter import org.mosad.teapod.util.adapter.MediaItemListAdapter +import org.mosad.teapod.util.playerIntent +import org.mosad.teapod.util.setDrawableTop +import org.mosad.teapod.util.showFragment +import org.mosad.teapod.util.toItemMediaList class HomeFragment : Fragment() { @@ -188,7 +191,7 @@ class HomeFragment : Fragment() { private fun setShimmerLayoutItemSize(shimmerLayout: ShimmerFrameLayout) { (shimmerLayout.children.first() as? LinearLayout)?.children?.forEach { child -> child.layoutParams.apply { - width = (binding.root.measuredWidth / requireContext().resources.getInteger(R.integer.item_media_columns)) - itemOffset + width = (resources.displayMetrics.widthPixels / requireContext().resources.getInteger(R.integer.item_media_columns)) - itemOffset } } } diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragment.kt b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragment.kt index 7ebed88..9237b82 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragment.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragment.kt @@ -26,6 +26,7 @@ import org.mosad.teapod.util.playerIntent import org.mosad.teapod.util.tmdb.TMDBApiController import org.mosad.teapod.util.tmdb.TMDBMovie import org.mosad.teapod.util.tmdb.TMDBTVShow +import org.mosad.teapod.util.toItemMediaList /** * The media detail fragment. @@ -126,6 +127,20 @@ class MediaFragment(private val mediaIdStr: String) : Fragment() { pagerAdapter.notifyItemInserted(fragments.indexOf(it)) } + // if has similar titles + if (model.similarTo.total > 0) { + MediaFragmentSimilar(model.similarTo.toItemMediaList()).also { + fragments.add(it) + pagerAdapter.notifyItemInserted(fragments.indexOf(it)) + } + } + + // disable scrolling on appbar, if no tabs where added + if(fragments.isEmpty()) { + val params = binding.linearMedia.layoutParams as AppBarLayout.LayoutParams + params.scrollFlags = 0 // clear all scroll flags + } + // specific gui (via tmdb) when (tmdbResult) { is TMDBTVShow -> { @@ -154,20 +169,6 @@ class MediaFragment(private val mediaIdStr: String) : Fragment() { } } - // if has similar titles - if (model.similarTo.total > 0) { - MediaFragmentSimilar().also { - fragments.add(it) - pagerAdapter.notifyItemInserted(fragments.indexOf(it)) - } - } - - // disable scrolling on appbar, if no tabs where added - if(fragments.isEmpty()) { - val params = binding.linearMedia.layoutParams as AppBarLayout.LayoutParams - params.scrollFlags = 0 // clear all scroll flags - } - binding.frameLoading.visibility = View.GONE // hide loading indicator } diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragmentSimilar.kt b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragmentSimilar.kt index 3c30d29..2ffec02 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragmentSimilar.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/main/fragments/MediaFragmentSimilar.kt @@ -27,17 +27,13 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels import org.mosad.teapod.databinding.FragmentMediaSimilarBinding -import org.mosad.teapod.ui.activity.main.viewmodel.MediaFragmentViewModel +import org.mosad.teapod.util.ItemMedia import org.mosad.teapod.util.adapter.MediaItemListAdapter -import org.mosad.teapod.util.decoration.MediaItemDecoration import org.mosad.teapod.util.showFragment -import org.mosad.teapod.util.toItemMediaList -class MediaFragmentSimilar : Fragment() { +class MediaFragmentSimilar(val items: List) : Fragment() { - private val model: MediaFragmentViewModel by viewModels({requireParentFragment()}) private lateinit var binding: FragmentMediaSimilarBinding override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { @@ -55,6 +51,6 @@ class MediaFragmentSimilar : Fragment() { ) val adapterSimilar = binding.recyclerMediaSimilar.adapter as MediaItemListAdapter - adapterSimilar.submitList(model.similarTo.toItemMediaList()) + adapterSimilar.submitList(items) } } \ No newline at end of file diff --git a/app/src/main/res/layout/item_media_shimmer.xml b/app/src/main/res/layout/item_media_shimmer.xml index 1193525..7338c64 100644 --- a/app/src/main/res/layout/item_media_shimmer.xml +++ b/app/src/main/res/layout/item_media_shimmer.xml @@ -8,18 +8,14 @@ + app:layout_constraintTop_toTopOf="parent"> Suche nach Filmen und Serien + + Downloads + Abspielen diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f20c3d1..77d8dd4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -21,6 +21,10 @@ poster poster backdrop + + Crunchylists + Downloads + Play A Silent Voice