Control commit

This commit is contained in:
Captain Arepa 2024-05-28 15:00:34 -04:00
parent 5f8cfd5a1f
commit 1ad060a816
2 changed files with 8 additions and 20 deletions

View file

@ -86,8 +86,7 @@ public class CameraActivityNew extends AppCompatActivity implements ActivityComp
@Override @Override
public void onPictureTakenSuccess(String base64) { public void onPictureTakenSuccess(String base64) {
Log.d(TAG, "base64: " + base64); mSegpassCamera.showToast("Base64 generated.");
mSegpassCamera.showToast("Base64 generatedd.");
} }
@Override @Override

View file

@ -19,7 +19,6 @@ import android.hardware.camera2.CameraMetadata;
import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.TotalCaptureResult; import android.hardware.camera2.TotalCaptureResult;
import android.hardware.camera2.params.StreamConfigurationMap; import android.hardware.camera2.params.StreamConfigurationMap;
import android.media.Image;
import android.media.ImageReader; import android.media.ImageReader;
import android.os.Handler; import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
@ -237,7 +236,7 @@ public class SegpassCamera {
private final ImageEncodingCallback base64Callback = new ImageEncodingCallback() { private final ImageEncodingCallback base64Callback = new ImageEncodingCallback() {
@Override @Override
public void onImageEncodeSuccess(String base64) { public void onImageEncodeSuccess(String base64) {
Log.d(TAG, "onBase64TransformationSuccess@base64Callback" + base64); Log.d(TAG, "onBase64TransformationSuccess@base64Callback: image encoded successfully.");
mBase64Value = base64; mBase64Value = base64;
} }
@ -254,10 +253,8 @@ public class SegpassCamera {
* still image is ready to be saved. * still image is ready to be saved.
*/ */
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener = reader -> { private final ImageReader.OnImageAvailableListener mOnImageAvailableListener = reader -> {
// Set the capture image
Image mImage = reader.acquireNextImage();
// Post the image to the thread so it can be converted to base64 // Post the image to the thread so it can be converted to base64
mBackgroundHandler.post(new ImageSaver(mImage, base64Callback)); mBackgroundHandler.post(new ImageSaver(reader.acquireNextImage(), base64Callback));
}; };
/** /**
@ -278,9 +275,8 @@ public class SegpassCamera {
mBackgroundThread.join(); mBackgroundThread.join();
mBackgroundThread = null; mBackgroundThread = null;
mBackgroundHandler = null; mBackgroundHandler = null;
} catch (InterruptedException e) { } catch (Exception e) {
Log.d(TAG, "InterruptedException@stopBackgroundThread(): " + e.getMessage()); Log.d(TAG, "InterruptedException@stopBackgroundThread(): " + e.getMessage());
mBackgroundThread.interrupt();
} }
} }
@ -519,9 +515,8 @@ public class SegpassCamera {
} catch (CameraAccessException e) { } catch (CameraAccessException e) {
Log.e(TAG, "CameraAccessException@openCamera(): " + e.getMessage()); Log.e(TAG, "CameraAccessException@openCamera(): " + e.getMessage());
mCameraCallback.onCameraInitError(e.getMessage()); mCameraCallback.onCameraInitError(e.getMessage());
} catch (InterruptedException e) { } catch (Exception e) {
Log.e(TAG, "InterruptedException@openCamera(): " + e.getMessage()); Log.e(TAG, "InterruptedException@openCamera(): " + e.getMessage());
throw new SegpassCameraException("Interrupted while trying to lock camera opening.", e);
} }
} }
@ -543,8 +538,8 @@ public class SegpassCamera {
mImageReader.close(); mImageReader.close();
mImageReader = null; mImageReader = null;
} }
} catch (InterruptedException e) { } catch (Exception e) {
throw new SegpassCameraException("Interrupted while trying to lock camera closing.", e); Log.e(TAG, "InterruptedException@closeCamera(): " + e.getMessage());
} finally { } finally {
mCameraOpenCloseLock.release(); mCameraOpenCloseLock.release();
} }
@ -583,11 +578,6 @@ public class SegpassCamera {
// When the session is ready, we start displaying the preview. // When the session is ready, we start displaying the preview.
mCaptureSession = cameraCaptureSession; mCaptureSession = cameraCaptureSession;
try { try {
// Auto focus should be continuous for camera preview.
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CameraMetadata.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
// Trigger AF
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START);
// Finally, we start displaying the camera preview. // Finally, we start displaying the camera preview.
mPreviewRequest = mPreviewRequestBuilder.build(); mPreviewRequest = mPreviewRequestBuilder.build();
mCaptureSession.setRepeatingRequest(mPreviewRequest, mCaptureSession.setRepeatingRequest(mPreviewRequest,
@ -693,14 +683,13 @@ public class SegpassCamera {
public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) { public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) {
super.onCaptureCompleted(session, request, result); super.onCaptureCompleted(session, request, result);
if (mBase64Value != null) { if (mBase64Value != null) {
Log.i(TAG, "onCaptureCompleted@takePicture(): sending Base64 result on callback... " + mBase64Value); Log.i(TAG, "onCaptureCompleted@takePicture(): sending Base64 result on callback... ");
mCameraCallback.onPictureTakenSuccess(mBase64Value); mCameraCallback.onPictureTakenSuccess(mBase64Value);
} else { } else {
Log.e(TAG, "onCaptureCompleted@takePicture(): error saving picture, base64 value is null."); Log.e(TAG, "onCaptureCompleted@takePicture(): error saving picture, base64 value is null.");
mCameraCallback.onPictureTakenFailError("Error saving picture..."); mCameraCallback.onPictureTakenFailError("Error saving picture...");
} }
Log.d(TAG, "Recreating camera preview..."); Log.d(TAG, "Recreating camera preview...");
//mCaptureImageReader.close();
createCameraPreviewSession(); createCameraPreviewSession();
} }
}; };