diff --git a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt index 9a854ee0..37f238b0 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt @@ -6,18 +6,25 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.R import dev.jdtech.jellyfin.databinding.BaseItemBinding import org.jellyfin.sdk.model.api.BaseItemDto -class ViewItemListAdapter : +class ViewItemListAdapter(private val fixedWidth: Boolean = false) : ListAdapter(DiffCallback) { - class ItemViewHolder(private var binding: BaseItemBinding) : + + class ItemViewHolder(private var binding: BaseItemBinding, private val parent: ViewGroup) : RecyclerView.ViewHolder(binding.root) { - fun bind(item: BaseItemDto) { + fun bind(item: BaseItemDto, fixedWidth: Boolean) { binding.item = item binding.itemName.text = if (item.type == "Episode") item.seriesName else item.name binding.itemCount.visibility = if (item.userData?.unplayedItemCount != null && item.userData?.unplayedItemCount!! > 0) View.VISIBLE else View.GONE + if (fixedWidth) { + binding.itemLayout.layoutParams.width = + parent.resources.getDimension(R.dimen.overview_media_width).toInt() + (binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0 + } binding.executePendingBindings() } } @@ -38,12 +45,12 @@ class ViewItemListAdapter : LayoutInflater.from(parent.context), parent, false - ) + ), parent ) } override fun onBindViewHolder(holder: ItemViewHolder, position: Int) { val item = getItem(position) - holder.bind(item) + holder.bind(item, fixedWidth) } } \ No newline at end of file diff --git a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt index 45de5ee2..8a924376 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/adapters/ViewListAdapter.kt @@ -14,7 +14,7 @@ class ViewListAdapter : ListAdapter(DiffCa binding.view = view // TODO: Change to string placeholder binding.viewName.text = "Latest ${view.name}" - binding.itemsRecyclerView.adapter = ViewItemListAdapter() + binding.itemsRecyclerView.adapter = ViewItemListAdapter(fixedWidth = true) binding.executePendingBindings() } } diff --git a/app/src/main/res/layout/base_item.xml b/app/src/main/res/layout/base_item.xml index 52f3c6de..d0657b77 100644 --- a/app/src/main/res/layout/base_item.xml +++ b/app/src/main/res/layout/base_item.xml @@ -11,20 +11,23 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/layout/view_item.xml b/app/src/main/res/layout/view_item.xml index c2fecfc4..1c0ae16b 100644 --- a/app/src/main/res/layout/view_item.xml +++ b/app/src/main/res/layout/view_item.xml @@ -13,7 +13,7 @@ + android:layout_marginBottom="12dp"> -1 -2 @dimen/match_parent + 150dp 3 1 2