Skip to content

Commit 77675b3

Browse files
Use BindableItem in PickerSubscriptionItem.
1 parent e2dd058 commit 77675b3

1 file changed

Lines changed: 19 additions & 14 deletions

File tree

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,51 @@
11
package org.schabi.newpipe.local.subscription.item
22

33
import android.view.View
4+
import androidx.core.view.isGone
45
import androidx.core.view.isVisible
56
import com.nostra13.universalimageloader.core.ImageLoader
6-
import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder
7-
import com.xwray.groupie.kotlinandroidextensions.Item
8-
import kotlinx.android.synthetic.main.picker_subscription_item.*
9-
import kotlinx.android.synthetic.main.picker_subscription_item.view.*
7+
import com.xwray.groupie.viewbinding.BindableItem
8+
import com.xwray.groupie.viewbinding.GroupieViewHolder
109
import org.schabi.newpipe.R
1110
import org.schabi.newpipe.database.subscription.SubscriptionEntity
11+
import org.schabi.newpipe.databinding.PickerSubscriptionItemBinding
1212
import org.schabi.newpipe.ktx.AnimationType
1313
import org.schabi.newpipe.ktx.animate
1414
import org.schabi.newpipe.util.ImageDisplayConstants
1515

1616
data class PickerSubscriptionItem(
1717
val subscriptionEntity: SubscriptionEntity,
1818
var isSelected: Boolean = false
19-
) : Item() {
19+
) : BindableItem<PickerSubscriptionItemBinding>() {
2020
override fun getId(): Long = subscriptionEntity.uid
2121
override fun getLayout(): Int = R.layout.picker_subscription_item
2222
override fun getSpanSize(spanCount: Int, position: Int): Int = 1
2323

24-
override fun bind(viewHolder: GroupieViewHolder, position: Int) {
24+
override fun bind(viewBinding: PickerSubscriptionItemBinding, position: Int) {
2525
ImageLoader.getInstance().displayImage(
2626
subscriptionEntity.avatarUrl,
27-
viewHolder.thumbnail_view, ImageDisplayConstants.DISPLAY_AVATAR_OPTIONS
27+
viewBinding.thumbnailView, ImageDisplayConstants.DISPLAY_AVATAR_OPTIONS
2828
)
2929

30-
viewHolder.title_view.text = subscriptionEntity.name
31-
viewHolder.selected_highlight.isVisible = isSelected
30+
viewBinding.titleView.text = subscriptionEntity.name
31+
viewBinding.selectedHighlight.isVisible = isSelected
3232
}
3333

34-
override fun unbind(viewHolder: GroupieViewHolder) {
34+
override fun unbind(viewHolder: GroupieViewHolder<PickerSubscriptionItemBinding>) {
3535
super.unbind(viewHolder)
3636

37-
viewHolder.selected_highlight.animate().setListener(null).cancel()
38-
viewHolder.selected_highlight.visibility = View.GONE
39-
viewHolder.selected_highlight.alpha = 1F
37+
viewHolder.binding.selectedHighlight.apply {
38+
animate().setListener(null).cancel()
39+
isGone = true
40+
alpha = 1F
41+
}
4042
}
4143

44+
override fun initializeViewBinding(view: View) = PickerSubscriptionItemBinding.bind(view)
45+
4246
fun updateSelected(containerView: View, isSelected: Boolean) {
4347
this.isSelected = isSelected
44-
containerView.selected_highlight.animate(isSelected, 150, AnimationType.LIGHT_SCALE_AND_ALPHA)
48+
PickerSubscriptionItemBinding.bind(containerView).selectedHighlight
49+
.animate(isSelected, 150, AnimationType.LIGHT_SCALE_AND_ALPHA)
4550
}
4651
}

0 commit comments

Comments
 (0)