@@ -6,8 +6,9 @@ import android.view.ViewGroup
66import androidx.databinding.DataBindingUtil
77import androidx.databinding.ViewDataBinding
88import org.ccci.gto.android.common.androidx.recyclerview.adapter.SimpleDataBindingAdapter
9- import org.cru.godtools.tool.BR
109import org.cru.godtools.tool.R
10+ import org.cru.godtools.tool.databinding.ToolShareItemAppBinding
11+ import org.cru.godtools.tool.databinding.ToolShareItemMoreBinding
1112
1213internal class ShareAppsAdapter (private val items : List <ResolveInfo >, private val callbacks : Callbacks ) :
1314 SimpleDataBindingAdapter <ViewDataBinding >() {
@@ -24,14 +25,23 @@ internal class ShareAppsAdapter(private val items: List<ResolveInfo>, private va
2425
2526 override fun onCreateViewDataBinding (parent : ViewGroup , viewType : Int ) =
2627 DataBindingUtil .inflate<ViewDataBinding >(LayoutInflater .from(parent.context), viewType, parent, false ).also {
27- it.setVariable(BR .callbacks, callbacks)
28+ when (it) {
29+ is ToolShareItemAppBinding -> it.callbacks = callbacks
30+ is ToolShareItemMoreBinding -> it.callbacks = callbacks
31+ }
2832 }
2933
3034 override fun onBindViewDataBinding (binding : ViewDataBinding , position : Int ) {
31- binding.setVariable(BR .info, items.getOrNull(position))
35+ when (binding) {
36+ is ToolShareItemAppBinding -> binding.info = items.getOrNull(position)
37+ is ToolShareItemMoreBinding -> Unit
38+ }
3239 }
3340
3441 override fun onViewDataBindingRecycled (binding : ViewDataBinding ) {
35- binding.setVariable(BR .info, null )
42+ when (binding) {
43+ is ToolShareItemAppBinding -> binding.info = null
44+ is ToolShareItemMoreBinding -> Unit
45+ }
3646 }
3747}
0 commit comments