Skip to content

Commit 2d63771

Browse files
committed
Update ViewModel
1 parent 56062b2 commit 2d63771

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

samples/camera/camerax/src/main/java/com/example/platform/camerax/basic/CameraXBasic.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import androidx.compose.foundation.layout.height
3535
import androidx.compose.foundation.layout.offset
3636
import androidx.compose.foundation.layout.padding
3737
import androidx.compose.foundation.layout.size
38-
import androidx.compose.foundation.layout.wrapContentSize
3938
import androidx.compose.foundation.shape.CircleShape
4039
import androidx.compose.material.icons.Icons
4140
import androidx.compose.material.icons.automirrored.filled.ArrowBack
@@ -86,7 +85,7 @@ fun CameraXBasic(modifier: Modifier = Modifier) {
8685
var showCapturedImage by remember { mutableStateOf<Uri?>(null) }
8786
val cameraPermissionState = rememberPermissionState(Manifest.permission.CAMERA)
8887
val imageCaptureCallbackExecutor: ExecutorService = remember { Executors.newSingleThreadExecutor() }
89-
val viewModel = remember { CameraXBasicViewModel() }
88+
val viewModel = viewModel { CameraXBasicViewModel() }
9089

9190
DisposableEffect(Unit) {
9291
onDispose {

samples/camera/camerax/src/main/java/com/example/platform/camerax/basic/CameraXBasicViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import androidx.camera.lifecycle.awaitInstance
3737
import androidx.compose.ui.geometry.Offset
3838
import androidx.core.content.ContextCompat
3939
import androidx.lifecycle.LifecycleOwner
40+
import androidx.lifecycle.ViewModel
4041
import kotlinx.coroutines.awaitCancellation
4142
import kotlinx.coroutines.flow.MutableStateFlow
4243
import kotlinx.coroutines.flow.StateFlow
@@ -52,7 +53,7 @@ import java.util.concurrent.ExecutorService
5253
* functionality using CameraX. It exposes a [StateFlow] for the camera preview [SurfaceRequest]
5354
* to be used in a composable.
5455
*/
55-
class CameraXBasicViewModel {
56+
class CameraXBasicViewModel : ViewModel() {
5657
private val _surfaceRequest = MutableStateFlow<SurfaceRequest?>(null)
5758
val surfaceRequest: StateFlow<SurfaceRequest?> = _surfaceRequest
5859
private var surfaceMeteringPointFactory: SurfaceOrientedMeteringPointFactory? = null

0 commit comments

Comments
 (0)