From d3105c578427ac7507ca32ff1de4a92962de2357 Mon Sep 17 00:00:00 2001 From: Wei-Ta Chen Date: Fri, 16 Sep 2011 11:44:25 -0700 Subject: Set the focus mode to infinity in the Panorama mode. Bug: 5320359 Change-Id: Iff431595bcc23a64cba93c5ac77bb3f34008b6b8 --- src/com/android/camera/panorama/PanoramaActivity.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/com/android/camera/panorama/PanoramaActivity.java b/src/com/android/camera/panorama/PanoramaActivity.java index 00613c7..d459740 100644 --- a/src/com/android/camera/panorama/PanoramaActivity.java +++ b/src/com/android/camera/panorama/PanoramaActivity.java @@ -164,6 +164,10 @@ public class PanoramaActivity extends Activity implements private float[] mTransformMatrix; private float mHorizontalViewAngle; + // Prefer FOCUS_MODE_INFINITY to FOCUS_MODE_CONTINUOUS_VIDEO because of + // getting a better image quality by the former. + private String mTargetFocusMode = Parameters.FOCUS_MODE_INFINITY; + private PanoOrientationEventListener mOrientationEventListener; // The value could be 0, 1, 2, 3 for the 4 different orientations measured in clockwise // respectively. @@ -346,6 +350,15 @@ public class PanoramaActivity extends Activity implements parameters.setPreviewFpsRange(minFps, maxFps); Log.v(TAG, "preview fps: " + minFps + ", " + maxFps); + List supportedFocusModes = parameters.getSupportedFocusModes(); + if (supportedFocusModes.indexOf(mTargetFocusMode) >= 0) { + parameters.setFocusMode(mTargetFocusMode); + } else { + // Use the default focus mode and log a message + Log.w(TAG, "Cannot set the focus mode to " + mTargetFocusMode + + " becuase the mode is not supported."); + } + parameters.setRecordingHint(false); mHorizontalViewAngle = ((mDeviceOrientation % 2) == 0) ? -- cgit v1.1