From 6166aed71570e4015165e9e133ef32261d612545 Mon Sep 17 00:00:00 2001 From: Captain Arepa Date: Fri, 7 Jun 2024 14:46:56 -0400 Subject: [PATCH] Control commit --- .../SegpassCameraActivity.java | 3 ++ .../segpass/SegpassCamera.java | 34 +++++++++++++++---- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/example/cameraxtestappjava/SegpassCameraActivity.java b/app/src/main/java/com/example/cameraxtestappjava/SegpassCameraActivity.java index 6c4ac1e..8a77eaf 100644 --- a/app/src/main/java/com/example/cameraxtestappjava/SegpassCameraActivity.java +++ b/app/src/main/java/com/example/cameraxtestappjava/SegpassCameraActivity.java @@ -81,11 +81,13 @@ public class SegpassCameraActivity extends AppCompatActivity implements Activity @Override public void onPictureTakenSuccess(String base64) { cameraLayout.showToast("Base64 generated."); + this.finish(); } @Override public void onPictureTakenFail(String error) { cameraLayout.showToast(error); + this.finish(); } /** @@ -95,6 +97,7 @@ public class SegpassCameraActivity extends AppCompatActivity implements Activity @Override public void onCameraInitError(String errorMessage) { cameraLayout.showToast(errorMessage); + this.finish(); } /** diff --git a/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java b/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java index 63441b1..d1287cc 100644 --- a/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java +++ b/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java @@ -92,9 +92,15 @@ public class SegpassCamera { /** * Error constants */ - private static final String ERROR_MSG_CAMERA_ACCESS = "Camera access error."; - private static final String ERROR_MSG_CAMERA_TIMEOUT = "Timeout waiting to lock camera opening."; - private static final String ERROR_MSG_NO_CAMERA_PREVIEW_SIZE = "No compatible picture image sizes found."; + private static final String ERROR_MSG_CAMERA_ACCESS = "Error de acceso a cámara."; + private static final String ERROR_MSG_CAMERA_TIMEOUT = "Tiempo de espera para bloqueo de cámara excedido."; + private static final String ERROR_MSG_NO_CAMERA_PREVIEW_SIZE = "No se encontraron tamaños de imagen compatible."; + + private static final String ERROR_STATE_MSG_CAMERA_IN_USE = "Error: cámara en uso por otro proceso."; + private static final String ERROR_STATE_MSG_MAX_CAMERAS_IN_USE = "Error: máximo número de camaras en uso."; + private static final String ERROR_STATE_MSG_CAMERA_DISABLED = "Error: cámara inhabilitada."; + private static final String ERROR_STATE_MSG_CAMERA_DEVICE = "Error fatal en cámara. Intente reiniciar aplicación o dispositivo."; + private static final String ERROR_STATE_MSG_CAMERA_SERVICE = "Error fatal en cámara. Intente reiniciar dispositivo."; /** * ID of the current {@link CameraDevice}. @@ -238,7 +244,23 @@ public class SegpassCamera { mCameraOpenCloseLock.release(); cameraDevice.close(); mCameraDevice = null; - mActivity.finish(); + switch (error) { + case CameraDevice.StateCallback.ERROR_CAMERA_IN_USE: + mCameraCallback.onCameraInitError(ERROR_STATE_MSG_CAMERA_IN_USE); + break; + case CameraDevice.StateCallback.ERROR_MAX_CAMERAS_IN_USE: + mCameraCallback.onCameraInitError(ERROR_STATE_MSG_MAX_CAMERAS_IN_USE); + break; + case CameraDevice.StateCallback.ERROR_CAMERA_DISABLED: + mCameraCallback.onCameraInitError(ERROR_STATE_MSG_CAMERA_DISABLED); + break; + case CameraDevice.StateCallback.ERROR_CAMERA_DEVICE: + mCameraCallback.onCameraInitError(ERROR_STATE_MSG_CAMERA_DEVICE); + break; + case CameraDevice.StateCallback.ERROR_CAMERA_SERVICE: + mCameraCallback.onCameraInitError(ERROR_STATE_MSG_CAMERA_SERVICE); + break; + } } }; @@ -269,7 +291,6 @@ public class SegpassCamera { */ private final ImageReader.OnImageAvailableListener mOnImageAvailableListener = reader -> { mImage = reader.acquireNextImage(); - //mBackgroundHandler.post(new ImageSaverUtil(mImage, base64Callback)); }; @@ -771,9 +792,8 @@ public class SegpassCamera { } public void savePicture() { - // Save the picture and finish activity to go back + // Save the picture. Delegate later actions to the host application. mBackgroundHandler.post(new ImageSaverUtil(mImage, base64Callback)); - mActivity.finish(); } public void discardPicture() {