@@ -19,14 +19,6 @@ package com.ichi2.anki.dialogs
1919import android.app.Dialog
2020import android.content.DialogInterface
2121import android.os.Bundle
22- import android.view.View
23- import android.widget.Button
24- import android.widget.CheckBox
25- import android.widget.LinearLayout
26- import android.widget.RadioButton
27- import android.widget.RadioGroup
28- import android.widget.TextView
29- import androidx.annotation.IdRes
3022import androidx.appcompat.app.AppCompatDialogFragment
3123import androidx.core.os.bundleOf
3224import androidx.fragment.app.activityViewModels
@@ -35,20 +27,19 @@ import com.ichi2.anki.CollectionManager.TR
3527import com.ichi2.anki.R
3628import com.ichi2.anki.browser.BrowserColumnSelectionFragment
3729import com.ichi2.anki.browser.CardBrowserViewModel
30+ import com.ichi2.anki.databinding.BrowserOptionsDialogBinding
3831import com.ichi2.anki.model.CardsOrNotes
3932import timber.log.Timber
4033
41- class BrowserOptionsDialog : AppCompatDialogFragment () {
42- private lateinit var dialogView: View
43-
34+ class BrowserOptionsDialog : AppCompatDialogFragment (R .layout.browser_options_dialog) {
4435 private val viewModel: CardBrowserViewModel by activityViewModels()
4536
37+ private lateinit var binding: BrowserOptionsDialogBinding
38+
4639 /* * The unsaved value of [CardsOrNotes] */
4740 private val dialogCardsOrNotes: CardsOrNotes
4841 get() {
49- @IdRes val selectedButtonId =
50- dialogView.findViewById<RadioGroup >(R .id.select_browser_mode).checkedRadioButtonId
51- return when (selectedButtonId) {
42+ return when (binding.selectBrowserMode.checkedRadioButtonId) {
5243 R .id.select_cards_mode -> CardsOrNotes .CARDS
5344 else -> CardsOrNotes .NOTES
5445 }
@@ -58,13 +49,13 @@ class BrowserOptionsDialog : AppCompatDialogFragment() {
5849 if (cardsOrNotes != dialogCardsOrNotes) {
5950 viewModel.setCardsOrNotes(dialogCardsOrNotes)
6051 }
61- val newTruncate = dialogView.findViewById< CheckBox >( R .id.truncate_checkbox) .isChecked
52+ val newTruncate = binding.truncateCheckBox .isChecked
6253
6354 if (newTruncate != isTruncated) {
6455 viewModel.setTruncated(newTruncate)
6556 }
6657
67- val newIgnoreAccent = dialogView.findViewById< CheckBox >( R .id.ignore_accents_checkbox) .isChecked
58+ val newIgnoreAccent = binding.ignoreAccentsCheckBox .isChecked
6859 if (newIgnoreAccent != viewModel.shouldIgnoreAccents) {
6960 viewModel.setIgnoreAccents(newIgnoreAccent)
7061 }
@@ -90,37 +81,36 @@ class BrowserOptionsDialog : AppCompatDialogFragment() {
9081 }
9182
9283 override fun onCreateDialog (savedInstanceState : Bundle ? ): Dialog {
93- val layoutInflater = requireActivity().layoutInflater
94- dialogView = layoutInflater.inflate(R .layout.browser_options_dialog, null )
84+ binding = BrowserOptionsDialogBinding .inflate(layoutInflater)
9585
9686 if (cardsOrNotes == CardsOrNotes .CARDS ) {
97- dialogView.findViewById< RadioButton >( R .id.select_cards_mode) .isChecked = true
87+ binding.selectCardsMode .isChecked = true
9888 } else {
99- dialogView.findViewById< RadioButton >( R .id.select_notes_mode) .isChecked = true
89+ binding.selectNotesMode .isChecked = true
10090 }
10191
102- dialogView.findViewById< CheckBox >( R .id.truncate_checkbox) .isChecked = isTruncated
92+ binding.truncateCheckBox .isChecked = isTruncated
10393
104- dialogView.findViewById< LinearLayout >( R .id.action_rename_flag) .setOnClickListener {
94+ binding.renameFlag .setOnClickListener {
10595 Timber .d(" Rename flag clicked" )
10696 val flagRenameDialog = FlagRenameDialog ()
10797 flagRenameDialog.show(parentFragmentManager, " FlagRenameDialog" )
10898 dismiss()
10999 }
110100
111- dialogView.findViewById< Button >( R .id.manage_columns_button) .setOnClickListener {
101+ binding.manageColumnsButton .setOnClickListener {
112102 openColumnManager()
113103 }
114104
115- dialogView.findViewById< CheckBox >( R .id.ignore_accents_checkbox) .apply {
105+ binding.ignoreAccentsCheckBox .apply {
116106 text = TR .preferencesIgnoreAccentsInSearch()
117107 isChecked = viewModel.shouldIgnoreAccents
118108 }
119109
120- dialogView.findViewById< TextView >( R .id.browsing_text_view) .text = TR .preferencesBrowsing()
110+ binding.browsingTextView .text = TR .preferencesBrowsing()
121111
122112 return MaterialAlertDialogBuilder (requireContext()).run {
123- this .setView(dialogView )
113+ this .setView(binding.root )
124114 this .setTitle(getString(R .string.browser_options_dialog_heading))
125115 this .setNegativeButton(getString(R .string.dialog_cancel)) { _: DialogInterface , _: Int ->
126116 dismiss()
0 commit comments