From fe409acf47b9f913451d0ed156afe472fb9c0170 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Sun, 1 Jun 2025 09:02:44 +0200 Subject: [PATCH] Remove calls to deprecated APIs --- .../main/java/org/mydomain/myscan/view/Camera.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/mydomain/myscan/view/Camera.kt b/app/src/main/java/org/mydomain/myscan/view/Camera.kt index 68836af..779d8d5 100644 --- a/app/src/main/java/org/mydomain/myscan/view/Camera.kt +++ b/app/src/main/java/org/mydomain/myscan/view/Camera.kt @@ -1,6 +1,5 @@ package org.mydomain.myscan.view -import android.content.Context import android.content.pm.PackageManager.PERMISSION_GRANTED import android.graphics.Bitmap import android.util.Log @@ -9,13 +8,14 @@ import android.widget.LinearLayout import android.widget.Toast import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts -import androidx.camera.core.AspectRatio.RATIO_4_3 import androidx.camera.core.CameraSelector import androidx.camera.core.ImageAnalysis import androidx.camera.core.ImageCapture import androidx.camera.core.ImageCaptureException import androidx.camera.core.ImageProxy import androidx.camera.core.Preview +import androidx.camera.core.resolutionselector.AspectRatioStrategy +import androidx.camera.core.resolutionselector.ResolutionSelector import androidx.camera.lifecycle.ProcessCameraProvider import androidx.camera.view.PreviewView import androidx.compose.foundation.Canvas @@ -64,7 +64,6 @@ fun CameraScreen( uiState: CameraScreenState, onImageAnalyzed: (ImageProxy) -> Unit, ) { - // TODO Check the errors in the logs before the user gives the required authorization val context = LocalContext.current val requestPermissionLauncher = rememberLauncherForActivityResult( ActivityResultContracts.RequestPermission() @@ -165,19 +164,22 @@ fun bindCameraUseCases( onImageAnalyzed: (ImageProxy) -> Unit, captureController: CameraCaptureController, ) { - val preview: Preview = Preview.Builder().setTargetAspectRatio(RATIO_4_3).build() - + val ratio_4_3 = ResolutionSelector.Builder() + .setAspectRatioStrategy(AspectRatioStrategy.RATIO_4_3_FALLBACK_AUTO_STRATEGY) + .build() + val preview: Preview = Preview.Builder().setResolutionSelector(ratio_4_3).build() preview.surfaceProvider = previewView.surfaceProvider val cameraSelector: CameraSelector = CameraSelector.Builder().requireLensFacing(CameraSelector.LENS_FACING_BACK).build() - val imageAnalysis = ImageAnalysis.Builder().setTargetAspectRatio(RATIO_4_3) + val imageAnalysis = ImageAnalysis.Builder() + .setResolutionSelector(ratio_4_3) .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST) .setOutputImageFormat(ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888).build() imageAnalysis.setAnalyzer(executor, onImageAnalyzed) val imageCapture = ImageCapture.Builder() - .setTargetAspectRatio(RATIO_4_3) + .setResolutionSelector(ratio_4_3) .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY) .build() captureController.imageCapture = imageCapture