@@ -20,15 +20,14 @@ import android.app.Dialog
2020import android.content.Context
2121import android.os.Bundle
2222import android.util.AttributeSet
23- import android.view.View
2423import android.widget.ArrayAdapter
25- import android.widget.ListView
2624import androidx.appcompat.app.AlertDialog
2725import androidx.core.view.isVisible
2826import androidx.fragment.app.DialogFragment
2927import androidx.preference.DialogPreference
3028import androidx.preference.PreferenceFragmentCompat
3129import com.ichi2.anki.R
30+ import com.ichi2.anki.databinding.ControlPreferenceBinding
3231import com.ichi2.anki.dialogs.GestureSelectionDialogUtils
3332import com.ichi2.anki.dialogs.GestureSelectionDialogUtils.onGestureChanged
3433import 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