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 52c6ced..f38fc00 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 @@ -52,6 +52,8 @@ class HomeFragment : Fragment() { private val model: HomeViewModel by viewModels() private lateinit var binding: FragmentHomeBinding + private val itemOffset = 21 + private val playerResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { model.updateUpNextItems() } @@ -68,35 +70,35 @@ class HomeFragment : Fragment() { MediaEpisodeListAdapter.OnClickListener { playerResult.launch(playerIntent(it.panel.episodeMetadata.seasonId, it.panel.id)) }, - 21 + itemOffset ) binding.recyclerWatchlist.adapter = MediaItemListAdapter( MediaItemListAdapter.OnClickListener { activity?.showFragment(MediaFragment(it.id)) }, - 21 + itemOffset ) binding.recyclerRecommendations.adapter = MediaItemListAdapter( MediaItemListAdapter.OnClickListener { activity?.showFragment(MediaFragment(it.id)) }, - 21 + itemOffset ) binding.recyclerNewTitles.adapter = MediaItemListAdapter( MediaItemListAdapter.OnClickListener { activity?.showFragment(MediaFragment(it.id)) }, - 21 + itemOffset ) binding.recyclerTopTen.adapter = MediaItemListAdapter( MediaItemListAdapter.OnClickListener { activity?.showFragment(MediaFragment(it.id)) }, - 21 + itemOffset ) binding.textHighlightMyList.setOnClickListener { @@ -186,7 +188,7 @@ class HomeFragment : Fragment() { private fun setShimmerLayoutItemSize(shimmerLayout: ShimmerFrameLayout) { (shimmerLayout.children.first() as? LinearLayout)?.children?.forEach { child -> child.layoutParams.apply { - width = (binding.root.measuredWidth / 2) - 21 + width = (binding.root.measuredWidth / requireContext().resources.getInteger(R.integer.item_media_columns)) - itemOffset } } } diff --git a/app/src/main/java/org/mosad/teapod/util/adapter/MediaEpisodeListAdapter.kt b/app/src/main/java/org/mosad/teapod/util/adapter/MediaEpisodeListAdapter.kt index 1cdebdb..4806167 100644 --- a/app/src/main/java/org/mosad/teapod/util/adapter/MediaEpisodeListAdapter.kt +++ b/app/src/main/java/org/mosad/teapod/util/adapter/MediaEpisodeListAdapter.kt @@ -20,7 +20,7 @@ class MediaEpisodeListAdapter(private val onClickListener: OnClickListener, priv false ) binding.root.layoutParams.apply { - width = (parent.measuredWidth / 2) - itemOffset + width = (parent.measuredWidth / parent.context.resources.getInteger(R.integer.item_media_columns)) - itemOffset } return MediaViewHolder(binding) diff --git a/app/src/main/java/org/mosad/teapod/util/adapter/MediaItemListAdapter.kt b/app/src/main/java/org/mosad/teapod/util/adapter/MediaItemListAdapter.kt index ec3a33c..c788eb3 100644 --- a/app/src/main/java/org/mosad/teapod/util/adapter/MediaItemListAdapter.kt +++ b/app/src/main/java/org/mosad/teapod/util/adapter/MediaItemListAdapter.kt @@ -7,6 +7,7 @@ import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide +import org.mosad.teapod.R import org.mosad.teapod.databinding.ItemMediaBinding import org.mosad.teapod.util.ItemMedia @@ -19,7 +20,7 @@ class MediaItemListAdapter(private val onClickListener: OnClickListener, private false ) binding.root.layoutParams.apply { - width = (parent.measuredWidth / 2) - itemOffset + width = (parent.measuredWidth / parent.context.resources.getInteger(R.integer.item_media_columns)) - itemOffset } return MediaViewHolder(binding) diff --git a/app/src/main/res/layout/fragment_library.xml b/app/src/main/res/layout/fragment_library.xml index 011314d..c5943ca 100644 --- a/app/src/main/res/layout/fragment_library.xml +++ b/app/src/main/res/layout/fragment_library.xml @@ -19,7 +19,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" - app:spanCount="2" + app:spanCount="@integer/item_media_columns" tools:listitem="@layout/item_media" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_media_similar.xml b/app/src/main/res/layout/fragment_media_similar.xml index 6837edb..a39f7bb 100644 --- a/app/src/main/res/layout/fragment_media_similar.xml +++ b/app/src/main/res/layout/fragment_media_similar.xml @@ -16,7 +16,7 @@ android:paddingEnd="3dp" android:paddingBottom="3dp" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" - app:spanCount="2" + app:spanCount="@integer/item_media_columns" tools:listitem="@layout/item_media" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index 6427560..7668031 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -35,7 +35,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/search_text" - app:spanCount="2" + app:spanCount="@integer/item_media_columns" tools:listitem="@layout/item_media"> diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/app/src/main/res/values-sw600dp/dimens.xml new file mode 100644 index 0000000..7c028db --- /dev/null +++ b/app/src/main/res/values-sw600dp/dimens.xml @@ -0,0 +1,4 @@ + + + 3 + diff --git a/app/src/main/res/values-sw720dp/dimens.xml b/app/src/main/res/values-sw720dp/dimens.xml new file mode 100644 index 0000000..d13423c --- /dev/null +++ b/app/src/main/res/values-sw720dp/dimens.xml @@ -0,0 +1,4 @@ + + + 4 + diff --git a/app/src/main/res/values-sw840dp/dimens.xml b/app/src/main/res/values-sw840dp/dimens.xml new file mode 100644 index 0000000..e8bfe09 --- /dev/null +++ b/app/src/main/res/values-sw840dp/dimens.xml @@ -0,0 +1,4 @@ + + + 5 + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 45a85c7..026926f 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -2,4 +2,5 @@ 28dp 52dp + 2