Dantotsu/app/src/main/java/ani/dantotsu/settings/SubscriptionItem.kt
2025-01-06 08:22:44 -06:00

46 lines
No EOL
1.6 KiB
Kotlin

package ani.dantotsu.settings
import android.content.Intent
import android.view.View
import androidx.core.content.ContextCompat
import ani.dantotsu.R
import ani.dantotsu.databinding.ItemSubscriptionBinding
import ani.dantotsu.loadImage
import ani.dantotsu.media.MediaDetailsActivity
import ani.dantotsu.notifications.subscription.SubscriptionHelper
import com.xwray.groupie.GroupieAdapter
import com.xwray.groupie.viewbinding.BindableItem
class SubscriptionItem(
val id: Int,
private val media: SubscriptionHelper.Companion.SubscribeMedia,
private val adapter: GroupieAdapter,
private val onItemRemoved: (Int) -> Unit
) : BindableItem<ItemSubscriptionBinding>() {
private lateinit var binding: ItemSubscriptionBinding
override fun bind(viewBinding: ItemSubscriptionBinding, position: Int) {
binding = viewBinding
val context = binding.root.context
binding.subscriptionName.text = media.name
binding.root.setOnClickListener {
ContextCompat.startActivity(
context,
Intent(context, MediaDetailsActivity::class.java).putExtra("mediaId", media.id),
null
)
}
binding.subscriptionCover.loadImage(media.image)
binding.deleteSubscription.setOnClickListener {
SubscriptionHelper.deleteSubscription(id, true)
adapter.remove(this)
onItemRemoved(id)
}
}
override fun getLayout(): Int = R.layout.item_subscription
override fun initializeViewBinding(view: View): ItemSubscriptionBinding =
ItemSubscriptionBinding.bind(view)
}