Small changes

pull/574/head
Mattia Iavarone 6 years ago
parent 81f7837190
commit 953b23f813
  1. 3
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/metering/AutoExposure.java
  2. 16
      cameraview/src/main/java/com/otaliastudios/cameraview/picture/Full2PictureRecorder.java

@ -37,7 +37,8 @@ public class AutoExposure extends MeteringParameter {
(aeMode == CameraCharacteristics.CONTROL_AE_MODE_ON
|| aeMode == CameraCharacteristics.CONTROL_AE_MODE_ON_ALWAYS_FLASH
|| aeMode == CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH
|| aeMode == CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE);
|| aeMode == CameraCharacteristics.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE
|| aeMode == 5 /* CameraCharacteristics.CONTROL_AE_MODE_ON_EXTERNAL_FLASH, API 28 */);
isSupported = isNotLegacy && isAEOn;
if (isSupported) {

@ -35,7 +35,7 @@ public class Full2PictureRecorder extends PictureRecorder implements ImageReader
private static final CameraLogger LOG = CameraLogger.create(TAG);
private static final int STATE_IDLE = 0;
private static final int STATE_WAITING_FOCUS_LOCK = 1;
private static final int STATE_WAITING_AUTOFOCUS = 1;
private static final int STATE_WAITING_PRECAPTURE_START = 2;
private static final int STATE_WAITING_PRECAPTURE_END = 3;
private static final int STATE_WAITING_CAPTURE = 4;
@ -74,10 +74,10 @@ public class Full2PictureRecorder extends PictureRecorder implements ImageReader
@Override
public void take() {
runFocusLock();
runAutoFocus();
}
private boolean supportsFocusLock() {
private boolean supportsAutoFocus() {
//noinspection ConstantConditions
int afMode = mBuilder.get(CaptureRequest.CONTROL_AF_MODE);
// Exclude OFF and EDOF as per their docs.
@ -87,10 +87,10 @@ public class Full2PictureRecorder extends PictureRecorder implements ImageReader
|| afMode == CameraCharacteristics.CONTROL_AF_MODE_MACRO;
}
private void runFocusLock() {
if (supportsFocusLock()) {
private void runAutoFocus() {
if (supportsAutoFocus()) {
try {
mState = STATE_WAITING_FOCUS_LOCK;
mState = STATE_WAITING_AUTOFOCUS;
mBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CaptureRequest.CONTROL_AF_TRIGGER_START);
mSession.capture(mBuilder.build(), mCallback, null);
} catch (CameraAccessException e) {
@ -180,7 +180,7 @@ public class Full2PictureRecorder extends PictureRecorder implements ImageReader
private void process(@NonNull CaptureResult result) {
switch (mState) {
case STATE_IDLE: break;
case STATE_WAITING_FOCUS_LOCK: {
case STATE_WAITING_AUTOFOCUS: {
Integer afState = result.get(CaptureResult.CONTROL_AF_STATE);
if (afState == null
|| afState == CaptureResult.CONTROL_AF_STATE_FOCUSED_LOCKED
@ -261,7 +261,7 @@ public class Full2PictureRecorder extends PictureRecorder implements ImageReader
} catch (IOException ignore) { }
// Before leaving, unlock focus.
if (supportsFocusLock()) {
if (supportsAutoFocus()) {
try {
mBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER,
CaptureRequest.CONTROL_AF_TRIGGER_CANCEL);

Loading…
Cancel
Save