Skip to content

Commit 56062b2

Browse files
committed
Update CameraXBasic.kt
CameraX fixes
1 parent 11de640 commit 56062b2

File tree

1 file changed

+18
-15
lines changed
  • samples/camera/camerax/src/main/java/com/example/platform/camerax/basic

1 file changed

+18
-15
lines changed

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

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ 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
3839
import androidx.compose.foundation.shape.CircleShape
3940
import androidx.compose.material.icons.Icons
4041
import androidx.compose.material.icons.automirrored.filled.ArrowBack
@@ -63,6 +64,7 @@ import androidx.compose.ui.unit.round
6364
import androidx.lifecycle.LifecycleOwner
6465
import androidx.lifecycle.compose.LocalLifecycleOwner
6566
import androidx.lifecycle.compose.collectAsStateWithLifecycle
67+
import androidx.lifecycle.viewmodel.compose.viewModel
6668
import coil.compose.rememberAsyncImagePainter
6769
import com.google.accompanist.permissions.ExperimentalPermissionsApi
6870
import com.google.accompanist.permissions.PermissionState
@@ -92,14 +94,14 @@ fun CameraXBasic(modifier: Modifier = Modifier) {
9294
}
9395
}
9496

95-
Box(modifier = Modifier.fillMaxSize()) {
97+
Box(modifier = modifier.fillMaxSize()) {
9698
ContentWithPermissionHandling(
9799
cameraPermissionState = cameraPermissionState,
98100
showCapturedImage = showCapturedImage,
99101
onShowCapturedImageChange = { showCapturedImage = it },
100102
viewModel = viewModel,
101103
imageCaptureCallbackExecutor = imageCaptureCallbackExecutor,
102-
modifier = modifier,
104+
modifier = Modifier,
103105
)
104106
}
105107
}
@@ -131,7 +133,7 @@ private fun ContentWithPermissionHandling(
131133
when (cameraPermissionState.status) {
132134
is PermissionStatus.Granted -> {
133135
if (showCapturedImage != null) {
134-
CapturedImageView(uri = showCapturedImage) {
136+
CapturedImageView(uri = showCapturedImage, modifier = modifier) {
135137
onShowCapturedImageChange(null)
136138
}
137139
} else {
@@ -152,8 +154,9 @@ private fun ContentWithPermissionHandling(
152154
}
153155

154156
is PermissionStatus.Denied -> CameraPermissionDeniedView(
155-
cameraPermissionState.status,
156-
cameraPermissionState,
157+
status = cameraPermissionState.status,
158+
cameraPermissionState = cameraPermissionState,
159+
modifier = modifier
157160
)
158161
}
159162
}
@@ -171,9 +174,10 @@ private fun ContentWithPermissionHandling(
171174
private fun CameraPermissionDeniedView(
172175
status: PermissionStatus,
173176
cameraPermissionState: PermissionState,
177+
modifier: Modifier = Modifier
174178
) {
175179
Column(
176-
modifier = Modifier
180+
modifier = modifier
177181
.fillMaxSize()
178182
.padding(16.dp),
179183
horizontalAlignment = Alignment.CenterHorizontally,
@@ -232,7 +236,7 @@ private fun CameraPreviewContent(
232236

233237
surfaceRequest?.let { request ->
234238
val coordinateTransformer = remember { MutableCoordinateTransformer() }
235-
Box(modifier = Modifier.fillMaxSize()) {
239+
Box(modifier = modifier.fillMaxSize()) {
236240
CameraXViewfinder(
237241
surfaceRequest = request,
238242
coordinateTransformer = coordinateTransformer,
@@ -263,14 +267,13 @@ private fun CameraPreviewContent(
263267
.size(48.dp),
264268
)
265269
}
266-
Column(
267-
modifier = Modifier
270+
271+
Button(
272+
onClick = onTakePhotoClick,
273+
modifier
268274
.align(Alignment.BottomCenter)
269275
.padding(16.dp),
270-
horizontalAlignment = Alignment.CenterHorizontally,
271-
) {
272-
Button(onClick = onTakePhotoClick) { Text("Take Photo") }
273-
}
276+
) { Text("Take Photo") }
274277
}
275278
}
276279
}
@@ -283,9 +286,9 @@ private fun CameraPreviewContent(
283286
* (e.g., clicks the back button).
284287
*/
285288
@Composable
286-
fun CapturedImageView(uri: Uri, onDismiss: () -> Unit) {
289+
fun CapturedImageView(uri: Uri, modifier: Modifier = Modifier, onDismiss: () -> Unit = {}) {
287290
Box(
288-
modifier = Modifier.fillMaxSize(),
291+
modifier = modifier.fillMaxSize(),
289292
) {
290293
Image(
291294
painter = rememberAsyncImagePainter(uri),

0 commit comments

Comments
 (0)