Skip to content

Commit e11459e

Browse files
david-allisonBrayanDSO
authored andcommitted
chore: convert RepositionCardFragment to ViewBinding
Issue 11116
1 parent ea36031 commit e11459e

2 files changed

Lines changed: 22 additions & 31 deletions

File tree

AnkiDroid/src/main/java/com/ichi2/anki/browser/RepositionCardFragment.kt

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,15 @@ import android.app.Dialog
1919
import android.content.res.Configuration
2020
import android.os.Bundle
2121
import android.view.WindowManager
22-
import android.widget.CheckBox
23-
import android.widget.TextView
2422
import androidx.appcompat.app.AlertDialog
2523
import androidx.core.os.bundleOf
2624
import androidx.fragment.app.DialogFragment
2725
import androidx.fragment.app.setFragmentResult
28-
import com.google.android.material.textfield.TextInputEditText
29-
import com.google.android.material.textfield.TextInputLayout
3026
import com.ichi2.anki.CardBrowser
3127
import com.ichi2.anki.CollectionManager.TR
3228
import com.ichi2.anki.R
29+
import com.ichi2.anki.databinding.FragmentRepositionCardBinding
3330
import com.ichi2.anki.ui.internationalization.toSentenceCase
34-
import com.ichi2.anki.utils.ext.window
3531
import com.ichi2.utils.create
3632
import com.ichi2.utils.customView
3733
import com.ichi2.utils.negativeButton
@@ -47,54 +43,49 @@ import com.ichi2.utils.title
4743
*/
4844
class RepositionCardFragment : DialogFragment() {
4945
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
50-
val dialogView = layoutInflater.inflate(R.layout.fragment_reposition_card, null)
51-
dialogView.findViewById<TextView>(R.id.queue_limits_label).text =
46+
val binding = FragmentRepositionCardBinding.inflate(layoutInflater)
47+
binding.queueLimitsLabel.text =
5248
"""
5349
${TR.browsingQueueTop(requireArguments().getInt(ARG_QUEUE_TOP))}
5450
${TR.browsingQueueTop(requireArguments().getInt(ARG_QUEUE_BOTTOM))}
5551
""".trimIndent()
56-
dialogView.findViewById<TextInputLayout>(R.id.start_input_layout).hint =
52+
binding.startInputLayout.hint =
5753
TR.browsingStartPosition().removeSuffix(":")
58-
dialogView.findViewById<TextInputLayout>(R.id.step_input_layout).hint =
54+
binding.stepInputLayout.hint =
5955
TR.browsingStep().removeSuffix(":")
6056

61-
val startInputEditText = dialogView.findViewById<TextInputEditText>(R.id.start_input)
62-
val stepInputEditText = dialogView.findViewById<TextInputEditText>(R.id.step_input)
57+
binding.startInputEditText.requestFocus()
58+
binding.startInputEditText.selectAll()
6359

64-
startInputEditText.requestFocus()
65-
startInputEditText.selectAll()
66-
67-
val randomCheck =
68-
dialogView.findViewById<CheckBox>(R.id.randomize_order_check)?.apply {
69-
text = TR.browsingRandomizeOrder()
70-
isChecked = requireArguments().getBoolean(ARG_RANDOM)
71-
} ?: error("Unexpected missing random checkbox!")
72-
val shiftPositionCheck =
73-
dialogView.findViewById<CheckBox>(R.id.shift_position_check)?.apply {
74-
text = TR.browsingShiftPositionOfExistingCards()
75-
isChecked = requireArguments().getBoolean(ARG_SHIFT)
76-
} ?: error("Unexpected missing shift position checkbox!")
60+
binding.randomizeOrderCheck.apply {
61+
text = TR.browsingRandomizeOrder()
62+
isChecked = requireArguments().getBoolean(ARG_RANDOM)
63+
}
64+
binding.shiftPositionCheck.apply {
65+
text = TR.browsingShiftPositionOfExistingCards()
66+
isChecked = requireArguments().getBoolean(ARG_SHIFT)
67+
}
7768
val title =
7869
TR
7970
.browsingRepositionNewCards()
8071
.toSentenceCase(requireContext(), R.string.sentence_reposition_new_cards)
8172
val dialog =
8273
AlertDialog.Builder(requireContext()).create {
8374
title(text = title)
84-
customView(dialogView)
75+
customView(binding.root)
8576
negativeButton(R.string.dialog_cancel)
8677
positiveButton(R.string.dialog_ok) {
8778
val position =
88-
startInputEditText.textAsIntOrNull() ?: return@positiveButton
79+
binding.startInputEditText.textAsIntOrNull() ?: return@positiveButton
8980
val step =
90-
stepInputEditText.textAsIntOrNull() ?: return@positiveButton
81+
binding.stepInputEditText.textAsIntOrNull() ?: return@positiveButton
9182
setFragmentResult(
9283
REQUEST_REPOSITION_NEW_CARDS,
9384
bundleOf(
9485
ARG_POSITION to position,
9586
ARG_STEP to step,
96-
ARG_RANDOM to randomCheck.isChecked,
97-
ARG_SHIFT to shiftPositionCheck.isChecked,
87+
ARG_RANDOM to binding.randomizeOrderCheck.isChecked,
88+
ARG_SHIFT to binding.shiftPositionCheck.isChecked,
9889
),
9990
)
10091
}

AnkiDroid/src/main/res/layout/fragment_reposition_card.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
app:layout_constraintTop_toBottomOf="@id/queue_limits_label">
3636

3737
<com.google.android.material.textfield.TextInputEditText
38-
android:id="@+id/start_input"
38+
android:id="@+id/start_input_edit_text"
3939
android:layout_width="match_parent"
4040
android:layout_height="wrap_content"
4141
android:drawablePadding="8dp"
@@ -60,7 +60,7 @@
6060
app:layout_constraintEnd_toEndOf="parent">
6161

6262
<com.google.android.material.textfield.TextInputEditText
63-
android:id="@+id/step_input"
63+
android:id="@+id/step_input_edit_text"
6464
android:layout_width="match_parent"
6565
android:layout_height="wrap_content"
6666
android:drawablePadding="8dp"

0 commit comments

Comments
 (0)