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

Loading…
Cancel
Save