Skip to content

Commit bab0fb4

Browse files
david-allisonlukstbit
authored andcommitted
chore: convert MultimediaBottomSheet to ViewBinding
Issue 11116
1 parent 82d49ab commit bab0fb4

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

AnkiDroid/src/main/java/com/ichi2/anki/multimedia/MultimediaBottomSheet.kt

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,59 +18,57 @@
1818
package com.ichi2.anki.multimedia
1919

2020
import android.os.Bundle
21-
import android.view.LayoutInflater
2221
import android.view.View
23-
import android.view.ViewGroup
2422
import android.widget.LinearLayout
25-
import androidx.annotation.IdRes
2623
import androidx.fragment.app.activityViewModels
2724
import com.google.android.material.bottomsheet.BottomSheetBehavior
2825
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
2926
import com.ichi2.anki.R
3027
import com.ichi2.anki.common.annotations.NeedsTest
28+
import com.ichi2.anki.databinding.BottomsheetMultimediaBinding
3129
import com.ichi2.anki.multimedia.MultimediaBottomSheet.MultimediaAction.OPEN_CAMERA
3230
import com.ichi2.anki.multimedia.MultimediaBottomSheet.MultimediaAction.OPEN_DRAWING
3331
import com.ichi2.anki.multimedia.MultimediaBottomSheet.MultimediaAction.SELECT_AUDIO_FILE
3432
import com.ichi2.anki.multimedia.MultimediaBottomSheet.MultimediaAction.SELECT_AUDIO_RECORDING
3533
import com.ichi2.anki.multimedia.MultimediaBottomSheet.MultimediaAction.SELECT_IMAGE_FILE
3634
import com.ichi2.anki.multimedia.MultimediaBottomSheet.MultimediaAction.SELECT_VIDEO_FILE
35+
import dev.androidbroadcast.vbpd.viewBinding
3736

3837
/**
3938
* A BottomSheetDialogFragment class that provides options for selecting multimedia actions.
4039
*/
4140
@NeedsTest("Test to ensure correct option is selected")
42-
class MultimediaBottomSheet : BottomSheetDialogFragment() {
41+
class MultimediaBottomSheet : BottomSheetDialogFragment(R.layout.bottomsheet_multimedia) {
4342
private val viewModel: MultimediaViewModel by activityViewModels()
4443

45-
override fun onCreateView(
46-
inflater: LayoutInflater,
47-
container: ViewGroup?,
44+
private val binding by viewBinding(BottomsheetMultimediaBinding::bind)
45+
46+
override fun onViewCreated(
47+
view: View,
4848
savedInstanceState: Bundle?,
49-
): View? {
50-
val view = inflater.inflate(R.layout.bottomsheet_multimedia, container, false)
49+
) {
50+
super.onViewCreated(view, savedInstanceState)
5151

5252
/** setup a click on the listener to emit [MultimediaViewModel.multimediaAction] */
5353
fun setupListener(
54-
@IdRes id: Int,
54+
layout: LinearLayout,
5555
action: MultimediaAction,
56-
) = view.findViewById<LinearLayout>(id).setOnClickListener {
56+
) = layout.setOnClickListener {
5757
viewModel.setMultimediaAction(action)
5858
dismiss()
5959
}
6060

61-
setupListener(R.id.multimedia_action_image, SELECT_IMAGE_FILE)
62-
setupListener(R.id.multimedia_action_audio, SELECT_AUDIO_FILE)
63-
setupListener(R.id.multimedia_action_drawing, OPEN_DRAWING)
64-
setupListener(R.id.multimedia_action_recording, SELECT_AUDIO_RECORDING)
65-
setupListener(R.id.multimedia_action_video, SELECT_VIDEO_FILE)
66-
setupListener(R.id.multimedia_action_camera, OPEN_CAMERA)
67-
68-
return view
61+
setupListener(binding.multimediaActionImage, SELECT_IMAGE_FILE)
62+
setupListener(binding.multimediaActionAudio, SELECT_AUDIO_FILE)
63+
setupListener(binding.multimediaActionDrawing, OPEN_DRAWING)
64+
setupListener(binding.multimediaActionRecording, SELECT_AUDIO_RECORDING)
65+
setupListener(binding.multimediaActionVideo, SELECT_VIDEO_FILE)
66+
setupListener(binding.multimediaActionCamera, OPEN_CAMERA)
6967
}
7068

7169
override fun onStart() {
7270
super.onStart()
73-
BottomSheetBehavior.from(requireView().parent as View).state = BottomSheetBehavior.STATE_EXPANDED
71+
BottomSheetBehavior.from(binding.root.parent as View).state = BottomSheetBehavior.STATE_EXPANDED
7472
}
7573

7674
/**

0 commit comments

Comments
 (0)