pull/696/head
Mattia Iavarone 6 years ago
parent 4531981d5e
commit 560be94dcb
  1. 15
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java

@ -818,8 +818,15 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
boolean unlock = (fullPicture && getPictureMetering())
|| (!fullPicture && getPictureSnapshotMetering());
if (unlock) {
mOrchestrator.scheduleStateful("reset metering after picture",
CameraState.PREVIEW,
new Runnable() {
@Override
public void run() {
unlockAndResetMetering();
}
});
}
}
//endregion
@ -1479,7 +1486,8 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
mCallback.dispatchOnFocusEnd(gesture, action.isSuccessful(), point);
mOrchestrator.remove("reset metering");
if (shouldResetAutoFocus()) {
mOrchestrator.scheduleDelayed("reset metering",
mOrchestrator.scheduleStatefulDelayed("reset metering",
CameraState.PREVIEW,
getAutoFocusResetDelay(),
new Runnable() {
@Override
@ -1510,8 +1518,9 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
return mMeterAction;
}
@EngineThread
private void unlockAndResetMetering() {
if (getState() == CameraState.PREVIEW && !isChangingState()) {
// Needs the PREVIEW state!
Actions.sequence(
new BaseAction() {
@Override
@ -1530,7 +1539,6 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
new MeterResetAction()
).start(Camera2Engine.this);
}
}
//endregion
@ -1568,6 +1576,7 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
@Override
public void applyBuilder(@NonNull Action source) {
// NOTE: Should never be called on a non-engine thread!
applyRepeatingRequestBuilder();
}

Loading…
Cancel
Save