Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.
This constant is not public yet. Continuous autofocus should
behave differently in still camera and camcorder. In camcorder,
lens movement may be more smooth. And the triggers to start a
new focus search may be different. If there is a need,
FOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.
Change-Id: I05df9e491aca37829be3df92a73b952f26c86a4a
diff --git a/api/current.xml b/api/current.xml
index d7fc03d..e6df687 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -76944,11 +76944,11 @@
visibility="public"
>
</field>
-<field name="FOCUS_MODE_CONTINUOUS"
+<field name="FOCUS_MODE_CONTINUOUS_VIDEO"
type="java.lang.String"
transient="false"
volatile="false"
- value=""continuous""
+ value=""continuous-video""
static="true"
final="true"
deprecated="not deprecated"
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 26600f3..0d8228c 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -1182,14 +1182,17 @@
public static final String FOCUS_MODE_EDOF = "edof";
/**
- * Continuous auto focus mode. The camera continuously tries to focus.
- * This is ideal for shooting video or shooting photo of moving object.
- * Auto focus starts when the parameter is set. Applications should not
- * call {@link #autoFocus(AutoFocusCallback)} in this mode. To stop
- * continuous focus, applications should change the focus mode to other
- * modes.
+ * Continuous auto focus mode intended for video recording. The camera
+ * continuously tries to focus. This is ideal for shooting video.
+ * Applications still can call {@link
+ * #takePicture(Camera.ShutterCallback, Camera.PictureCallback,
+ * Camera.PictureCallback)} in this mode but the subject may not be in
+ * focus. Auto focus starts when the parameter is set. Applications
+ * should not call {@link #autoFocus(AutoFocusCallback)} in this mode.
+ * To stop continuous focus, applications should change the focus mode
+ * to other modes.
*/
- public static final String FOCUS_MODE_CONTINUOUS = "continuous";
+ public static final String FOCUS_MODE_CONTINUOUS_VIDEO = "continuous-video";
// Indices for focus distance array.
/**
@@ -2023,7 +2026,7 @@
* @see #FOCUS_MODE_MACRO
* @see #FOCUS_MODE_FIXED
* @see #FOCUS_MODE_EDOF
- * @see #FOCUS_MODE_CONTINUOUS
+ * @see #FOCUS_MODE_CONTINUOUS_VIDEO
*/
public String getFocusMode() {
return get(KEY_FOCUS_MODE);
@@ -2225,8 +2228,8 @@
* #autoFocus(AutoFocusCallback)}, {@link #cancelAutoFocus}, or {@link
* #startPreview()}. Applications can call {@link #getParameters()}
* and this method anytime to get the latest focus distances. If the
- * focus mode is FOCUS_MODE_CONTINUOUS, focus distances may change from
- * time to time.
+ * focus mode is FOCUS_MODE_CONTINUOUS_VIDEO, focus distances may change
+ * from time to time.
*
* This method is intended to estimate the distance between the camera
* and the subject. After autofocus, the subject distance may be within
diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h
index 7c5371a..53039a0 100644
--- a/include/camera/CameraParameters.h
+++ b/include/camera/CameraParameters.h
@@ -380,12 +380,14 @@
// continuously. Applications should not call
// CameraHardwareInterface.autoFocus in this mode.
static const char FOCUS_MODE_EDOF[];
- // Continuous auto focus mode. The camera continuously tries to focus. This
- // is ideal for shooting video or shooting photo of moving object. Auto
- // focus starts when the parameter is set. Applications should not call
- // CameraHardwareInterface.autoFocus in this mode. To stop continuous
- // focus, applications should change the focus mode to other modes.
- static const char FOCUS_MODE_CONTINUOUS[];
+ // Continuous auto focus mode intended for video recording. The camera
+ // continuously tries to focus. This is ideal for shooting video.
+ // Applications still can call CameraHardwareInterface.takePicture in this
+ // mode but the subject may not be in focus. Auto focus starts when the
+ // parameter is set. Applications should not call
+ // CameraHardwareInterface.autoFocus in this mode. To stop continuous focus,
+ // applications should change the focus mode to other modes.
+ static const char FOCUS_MODE_CONTINUOUS_VIDEO[];
private:
DefaultKeyedVector<String8,String8> mMap;
diff --git a/libs/camera/CameraParameters.cpp b/libs/camera/CameraParameters.cpp
index 362d9ee..83e5e57f 100644
--- a/libs/camera/CameraParameters.cpp
+++ b/libs/camera/CameraParameters.cpp
@@ -142,7 +142,7 @@
const char CameraParameters::FOCUS_MODE_MACRO[] = "macro";
const char CameraParameters::FOCUS_MODE_FIXED[] = "fixed";
const char CameraParameters::FOCUS_MODE_EDOF[] = "edof";
-const char CameraParameters::FOCUS_MODE_CONTINUOUS[] = "continuous";
+const char CameraParameters::FOCUS_MODE_CONTINUOUS_VIDEO[] = "continuous-video";
CameraParameters::CameraParameters()
: mMap()