Skip to content

Commit 3bdde54

Browse files
frettclaude
andcommitted
Use typed DataBinding property setters instead of setVariable(BR.xxx) in ShareAppsAdapter
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 96b5638 commit 3bdde54

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

ui/base-tool/src/main/kotlin/org/cru/godtools/base/tool/ui/share/ShareAppsAdapter.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ import android.view.ViewGroup
66
import androidx.databinding.DataBindingUtil
77
import androidx.databinding.ViewDataBinding
88
import org.ccci.gto.android.common.androidx.recyclerview.adapter.SimpleDataBindingAdapter
9-
import org.cru.godtools.tool.BR
109
import org.cru.godtools.tool.R
10+
import org.cru.godtools.tool.databinding.ToolShareItemAppBinding
11+
import org.cru.godtools.tool.databinding.ToolShareItemMoreBinding
1112

1213
internal 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

Comments
 (0)