Fix success parameter

pull/574/head
Mattia Iavarone 6 years ago
parent 98dc97d368
commit 8fc9b94ffc
  1. 7
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/Meter.java
  2. 4
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/metering/MeteringParameter.java

@ -281,10 +281,11 @@ public class Meter {
if (!mAutoExposure.isMetered()) mAutoExposure.onCapture(result);
if (!mAutoWhiteBalance.isMetered()) mAutoWhiteBalance.onCapture(result);
if (mAutoFocus.isMetered() && mAutoExposure.isMetered() && mAutoWhiteBalance.isMetered()) {
// Use the AF success for dispatching the callback, since the public
// callback is currently related to AF.
LOG.i("onCapture:", "all MeteringParameters have converged. Dispatching onMeteringEnd");
onMeteringEnd(mAutoFocus.isSuccessful());
boolean success = mAutoFocus.isSuccessful()
&& mAutoExposure.isSuccessful()
&& mAutoWhiteBalance.isSuccessful();
onMeteringEnd(success);
} else if (System.currentTimeMillis() - mMeteringStartTime >= FORCED_END_DELAY) {
LOG.i("onCapture:", "FORCED_END_DELAY was reached. Some MeteringParameter is stuck. Forcing end.");
onMeteringEnd(false);

@ -33,11 +33,13 @@ public abstract class MeteringParameter {
}
public final boolean isMetered() {
// A non supported parameter should always appear as metered
return isMetered || !isSupported;
}
public final boolean isSuccessful() {
return isSuccessful && isSupported;
// A non supported parameter should always appear as successful
return isSuccessful || !isSupported;
}
public abstract void startMetering(@NonNull CameraCharacteristics characteristics,

Loading…
Cancel
Save