Skip to content

Commit e1edf42

Browse files
committed
chore: convert ControlPreferenceDialogFragment to ViewBinding
Issue 11116
1 parent e11459e commit e1edf42

1 file changed

Lines changed: 12 additions & 14 deletions

File tree

AnkiDroid/src/main/java/com/ichi2/preferences/ControlPreference.kt

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,14 @@ import android.app.Dialog
2020
import android.content.Context
2121
import android.os.Bundle
2222
import android.util.AttributeSet
23-
import android.view.View
2423
import android.widget.ArrayAdapter
25-
import android.widget.ListView
2624
import androidx.appcompat.app.AlertDialog
2725
import androidx.core.view.isVisible
2826
import androidx.fragment.app.DialogFragment
2927
import androidx.preference.DialogPreference
3028
import androidx.preference.PreferenceFragmentCompat
3129
import com.ichi2.anki.R
30+
import com.ichi2.anki.databinding.ControlPreferenceBinding
3231
import com.ichi2.anki.dialogs.GestureSelectionDialogUtils
3332
import com.ichi2.anki.dialogs.GestureSelectionDialogUtils.onGestureChanged
3433
import com.ichi2.anki.dialogs.KeySelectionDialogUtils
@@ -232,51 +231,50 @@ class ControlPreferenceDialogFragment : DialogFragment() {
232231
}
233232

234233
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
235-
val view = requireActivity().layoutInflater.inflate(R.layout.control_preference, null)
234+
val binding = ControlPreferenceBinding.inflate(requireActivity().layoutInflater)
236235

237-
setupAddBindingDialogs(view)
238-
setupRemoveControlEntries(view)
236+
setupAddBindingDialogs(binding)
237+
setupRemoveControlEntries(binding)
239238

240239
return AlertDialog.Builder(requireContext()).create {
241240
setTitle(preference.title)
242241
setIcon(preference.icon)
243-
customView(view, paddingTop = 16.dp.toPx(context))
242+
customView(binding.root, paddingTop = 16.dp.toPx(context))
244243
negativeButton(R.string.dialog_cancel)
245244
}
246245
}
247246

248-
private fun setupAddBindingDialogs(view: View) {
249-
view.findViewById<View>(R.id.add_gesture).apply {
247+
private fun setupAddBindingDialogs(binding: ControlPreferenceBinding) {
248+
binding.addGesture.apply {
250249
setOnClickListener {
251250
preference.showGesturePickerDialog()
252251
dismiss()
253252
}
254253
isVisible = preference.areGesturesEnabled
255254
}
256255

257-
view.findViewById<View>(R.id.add_key).setOnClickListener {
256+
binding.addKey.setOnClickListener {
258257
preference.showKeyPickerDialog()
259258
dismiss()
260259
}
261260

262-
view.findViewById<View>(R.id.add_axis).setOnClickListener {
261+
binding.addAxis.setOnClickListener {
263262
preference.showAddAxisDialog()
264263
dismiss()
265264
}
266265
}
267266

268-
private fun setupRemoveControlEntries(view: View) {
267+
private fun setupRemoveControlEntries(binding: ControlPreferenceBinding) {
269268
val bindings = preference.getMappableBindings().toMutableList()
270-
val listView = view.findViewById<ListView>(R.id.list_view)
271269
if (bindings.isEmpty()) {
272-
listView.isVisible = false
270+
binding.listView.isVisible = false
273271
return
274272
}
275273
val titles =
276274
bindings.map {
277275
getString(R.string.binding_remove_binding, it.toDisplayString(requireContext()))
278276
}
279-
listView.apply {
277+
binding.listView.apply {
280278
adapter = ArrayAdapter(requireContext(), R.layout.control_preference_list_item, titles)
281279
setOnItemClickListener { _, _, index, _ ->
282280
bindings.removeAt(index)

0 commit comments

Comments
 (0)