Skip to content

Commit d7e3094

Browse files
david-allisonlukstbit
authored andcommitted
chore: convert ReviewerMenuSettingsAdapter to ViewBinding
Issue 11116
1 parent 68c4b12 commit d7e3094

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

AnkiDroid/src/main/java/com/ichi2/anki/preferences/reviewer/ReviewerMenuSettingsAdapter.kt

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,11 @@ package com.ichi2.anki.preferences.reviewer
1717

1818
import android.view.LayoutInflater
1919
import android.view.MotionEvent
20-
import android.view.View
2120
import android.view.ViewGroup
22-
import android.widget.TextView
23-
import androidx.appcompat.widget.AppCompatImageView
2421
import androidx.recyclerview.widget.RecyclerView
25-
import com.google.android.material.textview.MaterialTextView
2622
import com.ichi2.anki.R
27-
import com.ichi2.anki.utils.ext.findViewById
23+
import com.ichi2.anki.databinding.ReviewerMenuDisplayTypeBinding
24+
import com.ichi2.anki.databinding.ReviewerMenuItemBinding
2825

2926
class ReviewerMenuSettingsAdapter(
3027
private val items: List<ReviewerMenuSettingsRecyclerItem>,
@@ -36,12 +33,12 @@ class ReviewerMenuSettingsAdapter(
3633
val inflater = LayoutInflater.from(parent.context)
3734
return when (viewType) {
3835
ReviewerMenuSettingsRecyclerItem.ACTION_VIEW_TYPE -> {
39-
val itemView = inflater.inflate(R.layout.reviewer_menu_item, parent, false)
40-
ActionViewHolder(itemView)
36+
val binding = ReviewerMenuItemBinding.inflate(inflater, parent, false)
37+
ActionViewHolder(binding)
4138
}
4239
ReviewerMenuSettingsRecyclerItem.DISPLAY_TYPE_VIEW_TYPE -> {
43-
val itemView = inflater.inflate(R.layout.reviewer_menu_display_type, parent, false)
44-
DisplayTypeViewHolder(itemView)
40+
val binding = ReviewerMenuDisplayTypeBinding.inflate(inflater, parent, false)
41+
DisplayTypeViewHolder(binding)
4542
}
4643
else -> throw IllegalArgumentException("Unexpected viewType")
4744
}
@@ -70,13 +67,13 @@ class ReviewerMenuSettingsAdapter(
7067

7168
/** @see [R.layout.reviewer_menu_item] */
7269
private inner class ActionViewHolder(
73-
itemView: View,
74-
) : RecyclerView.ViewHolder(itemView) {
70+
private val binding: ReviewerMenuItemBinding,
71+
) : RecyclerView.ViewHolder(binding.root) {
7572
fun bind(action: ViewerAction) {
76-
findViewById<TextView>(R.id.title).text = action.title(itemView.context)
77-
action.drawableRes?.let { findViewById<AppCompatImageView>(R.id.icon).setBackgroundResource(it) }
73+
binding.title.text = action.title(itemView.context)
74+
action.drawableRes?.let { binding.icon.setBackgroundResource(it) }
7875

79-
findViewById<AppCompatImageView>(R.id.drag_handle).setOnTouchListener { _, event ->
76+
binding.dragHandle.setOnTouchListener { _, event ->
8077
if (event.action == MotionEvent.ACTION_DOWN) {
8178
onDragHandleTouchedListener?.invoke(this)
8279
}
@@ -87,10 +84,10 @@ class ReviewerMenuSettingsAdapter(
8784

8885
/** @see [R.layout.reviewer_menu_display_type] */
8986
private class DisplayTypeViewHolder(
90-
itemView: View,
91-
) : RecyclerView.ViewHolder(itemView) {
87+
private val binding: ReviewerMenuDisplayTypeBinding,
88+
) : RecyclerView.ViewHolder(binding.root) {
9289
fun bind(displayCategory: MenuDisplayType) {
93-
findViewById<MaterialTextView>(R.id.title).setText(displayCategory.title)
90+
binding.title.setText(displayCategory.title)
9491
}
9592
}
9693
}

0 commit comments

Comments
 (0)