Control commit
This commit is contained in:
parent
5f8cfd5a1f
commit
1ad060a816
2 changed files with 8 additions and 20 deletions
|
@ -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
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue