@@ -11,6 +11,7 @@ import androidx.compose.material3.Surface
11
11
import androidx.compose.material3.Text
12
12
import androidx.compose.runtime.Composable
13
13
import androidx.compose.ui.Modifier
14
+ import androidx.compose.ui.platform.LocalContext
14
15
import androidx.compose.ui.text.font.FontWeight
15
16
import androidx.compose.ui.tooling.preview.Preview
16
17
import androidx.compose.ui.unit.dp
@@ -35,18 +36,7 @@ fun CameraScreen(
35
36
viewModel : CameraViewModel = hiltViewModel()
36
37
) {
37
38
val TAG = " CameraScreen"
38
- LifecycleEventEffect (Lifecycle .Event .ON_START ) {
39
- viewModel.setCaptureTimer { navigateToShare() }
40
- AppLog .d(TAG , " ON_START" )
41
- }
42
- LifecycleEventEffect (Lifecycle .Event .ON_RESUME ) {
43
- AppLog .d(TAG , " ON_RESUME" )
44
- viewModel.startCaptureTimer()
45
- }
46
- LifecycleEventEffect (Lifecycle .Event .ON_STOP ) {
47
- viewModel.stopCaptureTimer()
48
- AppLog .d(TAG , " ON_STOP" )
49
- }
39
+ var mjpegView: MjpegView ? = null
50
40
ConstraintLayout (
51
41
modifier = Modifier .fillMaxSize()
52
42
) {
@@ -103,6 +93,7 @@ fun CameraScreen(
103
93
.aspectRatio(1.5f ),
104
94
factory = { context ->
105
95
MjpegView (context).apply {
96
+ mjpegView = this
106
97
mode = MjpegView .MODE_BEST_FIT
107
98
isAdjustHeight = true
108
99
supportPinchZoomAndPan = false
@@ -135,7 +126,6 @@ fun CameraScreen(
135
126
// test url
136
127
// TODO : change url in viewmodel
137
128
setUrl(" http://10.32.100.37:5000/preview" )
138
- startStream()
139
129
}
140
130
},
141
131
)
@@ -153,6 +143,21 @@ fun CameraScreen(
153
143
fontSize = 24 .sp,
154
144
)
155
145
}
146
+ LifecycleEventEffect (Lifecycle .Event .ON_START ) {
147
+ viewModel.setCaptureTimer { navigateToShare() }
148
+ AppLog .d(TAG , " ON_START" )
149
+ }
150
+ LifecycleEventEffect (Lifecycle .Event .ON_RESUME ) {
151
+ AppLog .d(TAG , " ON_RESUME" )
152
+ viewModel.startCaptureTimer()
153
+ mjpegView?.startStream()
154
+ }
155
+ LifecycleEventEffect (Lifecycle .Event .ON_STOP ) {
156
+ viewModel.stopCaptureTimer()
157
+ AppLog .d(TAG , " ON_STOP" )
158
+ mjpegView?.stopStream()
159
+ }
160
+ LocalContext
156
161
}
157
162
158
163
@Preview(showBackground = true )
0 commit comments