summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/one/v2/OneCameraZslImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/one/v2/OneCameraZslImpl.java')
-rw-r--r--src/com/android/camera/one/v2/OneCameraZslImpl.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/camera/one/v2/OneCameraZslImpl.java b/src/com/android/camera/one/v2/OneCameraZslImpl.java
index 97faf0f83..d53e89452 100644
--- a/src/com/android/camera/one/v2/OneCameraZslImpl.java
+++ b/src/com/android/camera/one/v2/OneCameraZslImpl.java
@@ -355,6 +355,27 @@ public class OneCameraZslImpl extends AbstractOneCamera {
mMediaActionSound.load(MediaActionSound.SHUTTER_CLICK);
}
+ @Override
+ public void setFocusDistanceListener(FocusDistanceListener focusDistanceListener) {
+ if(mFocusDistanceListener == null) {
+ mCaptureManager.addMetadataChangeListener(CaptureResult.LENS_FOCUS_DISTANCE,
+ new ImageCaptureManager.MetadataChangeListener() {
+ @Override
+ public void onImageMetadataChange(Key<?> key, Object oldValue,
+ Object newValue,
+ CaptureResult result) {
+ Integer state = result.get(CaptureResult.LENS_STATE);
+ if (newValue != null && state != null) {
+ mFocusDistanceListener.onFocusDistance((float) newValue, state == 1);
+ } else if (newValue != null) {
+ mFocusDistanceListener.onFocusDistance((float) newValue, true);
+ }
+ }
+ });
+ }
+ mFocusDistanceListener = focusDistanceListener;
+ }
+
/**
* @return The largest supported picture size.
*/