@@ -27,6 +27,7 @@ import androidx.constraintlayout.widget.ConstraintLayout
2727import com.ichi2.anki.R
2828import com.ichi2.anki.cardviewer.Gesture
2929import com.ichi2.anki.cardviewer.GestureListener
30+ import com.ichi2.anki.databinding.GesturePickerBinding
3031import com.ichi2.anki.dialogs.WarningDisplay
3132import com.ichi2.utils.UiUtil.setSelectedValue
3233import timber.log.Timber
@@ -45,24 +46,21 @@ class GesturePicker(
4546 defStyleAttr : Int = 0 ,
4647) : ConstraintLayout(ctx, attributeSet, defStyleAttr),
4748 WarningDisplay {
48- private val gestureSpinner: Spinner
49- private val gestureDisplay: GestureDisplay
49+ private val binding: GesturePickerBinding
5050 override val warningTextView: FixedTextView
5151
5252 private var onGestureListener: GestureListener ? = null
5353
5454 init {
5555 val inflater = ctx.getSystemService(Context .LAYOUT_INFLATER_SERVICE ) as LayoutInflater
56- inflater.inflate(R .layout.gesture_picker, this )
57- gestureDisplay = findViewById(R .id.gestureDisplay)
58- gestureSpinner = findViewById(R .id.spinner_gesture)
59- warningTextView = findViewById(R .id.warning)
60- gestureDisplay.setGestureChangedListener(this ::onGesture)
61- gestureSpinner.adapter = ArrayAdapter (context, android.R .layout.simple_spinner_dropdown_item, allGestures())
62- gestureSpinner.onItemSelectedListener = InnerSpinner ()
56+ binding = GesturePickerBinding .inflate(inflater, this , true )
57+ warningTextView = binding.warning
58+ binding.gestureDisplay.setGestureChangedListener(this ::onGesture)
59+ binding.gestureSpinner.adapter = ArrayAdapter (context, android.R .layout.simple_spinner_dropdown_item, allGestures())
60+ binding.gestureSpinner.onItemSelectedListener = InnerSpinner ()
6361 }
6462
65- fun getGesture () = gestureDisplay.getGesture()
63+ fun getGesture () = binding. gestureDisplay.getGesture()
6664
6765 private fun onGesture (gesture : Gesture ? ) {
6866 Timber .d(" gesture: %s" , gesture?.toDisplayString(context))
@@ -77,8 +75,8 @@ class GesturePicker(
7775 }
7876
7977 private fun setGesture (gesture : Gesture ? ) {
80- gestureSpinner.setSelectedValue(GestureWrapper (gesture))
81- gestureDisplay.setGesture(gesture)
78+ binding. gestureSpinner.setSelectedValue(GestureWrapper (gesture))
79+ binding. gestureDisplay.setGesture(gesture)
8280 }
8381
8482 /* * Not fired if deselected */
@@ -88,7 +86,7 @@ class GesturePicker(
8886
8987 private fun allGestures (): List <GestureWrapper > = (listOf (null ) + availableGestures()).map(this ::GestureWrapper ).toList()
9088
91- private fun availableGestures () = gestureDisplay.availableValues()
89+ private fun availableGestures () = binding. gestureDisplay.availableValues()
9290
9391 inner class GestureWrapper (
9492 val gesture : Gesture ? ,
0 commit comments