mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-09-28 07:51:42 +01:00
Use a TextureView viewfinder on API levels that cannot transform a SurfaceView.
This commit is contained in:
committed by
Michelle Tang
parent
c454c87d6a
commit
1ba233f77d
@@ -1,5 +1,6 @@
|
||||
package org.signal.camera
|
||||
|
||||
import android.os.Build
|
||||
import androidx.camera.compose.CameraXViewfinder
|
||||
import androidx.camera.core.SurfaceRequest
|
||||
import androidx.camera.lifecycle.ProcessCameraProvider
|
||||
@@ -91,6 +92,9 @@ fun CameraScreen(
|
||||
val lifecycleOwner = LocalLifecycleOwner.current
|
||||
val isInPreview = LocalInspectionMode.current
|
||||
|
||||
// Older android versions need to use embedded
|
||||
val resolvedImplementationMode = if (Build.VERSION.SDK_INT <= 24) ImplementationMode.EMBEDDED else implementationMode
|
||||
|
||||
var surfaceRequest by remember { mutableStateOf<SurfaceRequest?>(null) }
|
||||
|
||||
KeepScreenOnEffect(enabled = state.isRecording)
|
||||
@@ -152,7 +156,7 @@ fun CameraScreen(
|
||||
val currentSurfaceRequest = surfaceRequest!!
|
||||
|
||||
CameraXViewfinder(
|
||||
implementationMode = implementationMode,
|
||||
implementationMode = resolvedImplementationMode,
|
||||
surfaceRequest = currentSurfaceRequest,
|
||||
coordinateTransformer = coordinateTransformer,
|
||||
contentScale = if (fillViewport) ContentScale.Crop else ContentScale.Fit,
|
||||
|
||||
Reference in New Issue
Block a user