@@ -8,6 +8,8 @@ import android.view.View
8
8
import android.view.ViewGroup
9
9
import android.widget.RadioButton
10
10
import android.widget.TextView
11
+ import androidx.core.os.bundleOf
12
+ import androidx.fragment.app.activityViewModels
11
13
import com.google.android.material.bottomsheet.BottomSheetBehavior
12
14
import com.google.android.material.bottomsheet.BottomSheetDialog
13
15
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
@@ -16,17 +18,27 @@ import live.hms.roomkit.databinding.DialogTrackSelectionBinding
16
18
import live.hms.roomkit.util.viewLifecycle
17
19
import live.hms.hls_player.HmsHlsPlayer
18
20
import live.hms.hls_player.HmsHlsLayer
21
+ import live.hms.roomkit.ui.meeting.videogrid.VideoGridPageFragment
19
22
import live.hms.roomkit.ui.theme.HMSPrebuiltTheme
20
23
import live.hms.roomkit.ui.theme.getColorOrDefault
21
24
import live.hms.roomkit.ui.theme.trackTintList
22
25
23
26
24
27
class HlsVideoQualitySelectorBottomSheet (
25
- private val hlsPlayer : HmsHlsPlayer
26
28
) : BottomSheetDialogFragment() {
27
29
28
30
private var binding by viewLifecycle<DialogTrackSelectionBinding >()
29
31
32
+ val viewModel by activityViewModels<MeetingViewModel >()
33
+ companion object {
34
+ fun newInstance (): HlsVideoQualitySelectorBottomSheet {
35
+ return HlsVideoQualitySelectorBottomSheet ().apply {
36
+ }
37
+ }
38
+
39
+ }
40
+
41
+
30
42
override fun onCreateView (
31
43
inflater : LayoutInflater ,
32
44
container : ViewGroup ? ,
@@ -68,19 +80,22 @@ class HlsVideoQualitySelectorBottomSheet(
68
80
val sheet = it as BottomSheetDialog
69
81
sheet.behavior.state = BottomSheetBehavior .STATE_EXPANDED
70
82
}
83
+
84
+ if (viewModel.getHLSPLayer() == null )
85
+ dismissAllowingStateLoss()
71
86
binding.closeBtn.setOnClickListener {
72
87
dismiss()
73
88
}
74
- val currentLayer = hlsPlayer .getCurrentHmsHlsLayer()
75
- val allLayers = hlsPlayer .getHmsHlsLayers()
89
+ val currentLayer = viewModel.getHLSPLayer()? .getCurrentHmsHlsLayer()
90
+ val allLayers = viewModel.getHLSPLayer()? .getHmsHlsLayers()
76
91
77
92
addAutoView(currentLayer == HmsHlsLayer .AUTO )
78
- allLayers.forEachIndexed { index, layer ->
93
+ allLayers? .forEachIndexed { index, layer ->
79
94
when (layer) {
80
95
is HmsHlsLayer .AUTO -> {}
81
96
is HmsHlsLayer .LayerInfo -> {
82
97
addTrackView(" ${layer.resolution.height} " , index, currentLayer == layer) {
83
- hlsPlayer .setHmsHlsLayer(layer)
98
+ viewModel.getHLSPLayer()? .setHmsHlsLayer(layer)
84
99
dismissAllowingStateLoss()
85
100
}
86
101
}
@@ -90,7 +105,7 @@ class HlsVideoQualitySelectorBottomSheet(
90
105
91
106
private fun addAutoView (isSelected : Boolean ) {
92
107
addTrackView(" Auto" ,- 1 ,isSelected) {
93
- hlsPlayer .setHmsHlsLayer(HmsHlsLayer .AUTO )
108
+ viewModel.getHLSPLayer()? .setHmsHlsLayer(HmsHlsLayer .AUTO )
94
109
dismissAllowingStateLoss()
95
110
}
96
111
}
0 commit comments