summaryrefslogtreecommitdiffstats
path: root/core/java/android/hardware
diff options
context:
space:
mode:
authorScott Main <smain@google.com>2009-09-10 18:08:37 -0700
committerScott Main <smain@google.com>2009-09-10 18:08:37 -0700
commitda0a56df963353a1f1bd1914fa31f870d982dd5a (patch)
treea9619776842b845803b60db08c55a4973de5d8f9 /core/java/android/hardware
parentebebf9c36c0112d99cb2e11953febdff8ba5ff23 (diff)
parente0408aa11904ce1373b4e01a6182cc52ff43caa2 (diff)
downloadframeworks_base-da0a56df963353a1f1bd1914fa31f870d982dd5a.zip
frameworks_base-da0a56df963353a1f1bd1914fa31f870d982dd5a.tar.gz
frameworks_base-da0a56df963353a1f1bd1914fa31f870d982dd5a.tar.bz2
resolved conflicts for merge of e0408aa1 to eclair
Diffstat (limited to 'core/java/android/hardware')
-rw-r--r--core/java/android/hardware/Camera.java58
1 files changed, 45 insertions, 13 deletions
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 38c9dbc..04daa1c 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -37,6 +37,23 @@ import android.os.Message;
* frames for encoding for video.
* <p>There is no default constructor for this class. Use {@link #open()} to
* get a Camera object.</p>
+ *
+ * <p>In order to use the device camera, you must declare the
+ * {@link android.Manifest.permission#CAMERA} permission in your Android
+ * Manifest. Also be sure to include the
+ * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">&lt;uses-feature></a>
+ * manifest element in order to declare camera features used by your application.
+ * For example, if you use the camera and auto-focus feature, your Manifest
+ * should include the following:</p>
+ * <pre> &lt;uses-permission android:name="android.permission.CAMERA" />
+ * &lt;uses-feature android:name="android.hardware.camera" />
+ * &lt;uses-feature android:name="android.hardware.camera.autofocus" /></pre>
+ *
+ * <p class="caution"><strong>Caution:</strong> Different Android-powered devices
+ * may have different hardware specifications, such as megapixel ratings and
+ * auto-focus capabilities. In order for your application to be compatible with
+ * more devices, you should not make assumptions about the device camera
+ * specifications.</p>
*/
public class Camera {
private static final String TAG = "Camera";
@@ -179,10 +196,10 @@ public class Camera {
/**
* The callback that delivers the preview frames.
*
- * @param data The contents of the preview frame in {@link
- * android.hardware.Camera.Parameters#getPreviewFormat()}
- * format. If {@link
- * android.hardware.Camera.Parameters#setPreviewFormat(int)}
+ * @param data The contents of the preview frame in the format defined
+ * by {@link android.graphics.PixelFormat}, which can be queried
+ * with {@link android.hardware.Camera.Parameters#getPreviewFormat()}.
+ * If {@link android.hardware.Camera.Parameters#setPreviewFormat(int)}
* is never called, the default will be the YCbCr_420_SP
* (NV21) format.
* @param camera The Camera service object.
@@ -323,6 +340,13 @@ public class Camera {
/**
* Handles the callback for the camera auto focus.
+ * <p>Devices that do not support auto-focus will receive a "fake"
+ * callback to this interface. If your application needs auto-focus and
+ * should not be installed on devices <em>without</em> auto-focus, you must
+ * declare that your app uses the
+ * {@code android.hardware.camera.autofocus} feature, in the
+ * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">&lt;uses-feature></a>
+ * manifest element.</p>
*/
public interface AutoFocusCallback
{
@@ -343,7 +367,12 @@ public class Camera {
* the camera does not support auto-focus, it is a no-op and {@link
* AutoFocusCallback#onAutoFocus(boolean, Camera)} callback will be called
* immediately.
- *
+ * <p>If your application should not be installed
+ * on devices without auto-focus, you must declare that your application
+ * uses auto-focus with the
+ * <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">&lt;uses-feature></a>
+ * manifest element.</p>
+ *
* @param cb the callback to run
*/
public final void autoFocus(AutoFocusCallback cb)
@@ -874,11 +903,14 @@ public class Camera {
}
/**
- * Sets the image format for preview pictures. If this is never called,
- * the default will be the YCbCr_420_SP (NV21) format.
- *
- * @param pixel_format the desired preview picture format
- * (<var>PixelFormat.YCbCr_420_SP (NV21)</var>,
+ * Sets the image format for preview pictures.
+ * <p>If this is never called, the default format will be
+ * {@link android.graphics.PixelFormat#YCbCr_420_SP}, which
+ * uses the NV21 encoding format.</p>
+ *
+ * @param pixel_format the desired preview picture format, defined
+ * by one of the {@link android.graphics.PixelFormat} constants.
+ * (E.g., <var>PixelFormat.YCbCr_420_SP</var> (default),
* <var>PixelFormat.RGB_565</var>, or
* <var>PixelFormat.JPEG</var>)
* @see android.graphics.PixelFormat
@@ -896,9 +928,9 @@ public class Camera {
/**
* Returns the image format for preview pictures got from
* {@link PreviewCallback}.
- *
- * @return the PixelFormat int representing the preview picture format
- * @see android.graphics.PixelFormat
+ *
+ * @return the {@link android.graphics.PixelFormat} int representing
+ * the preview picture format.
*/
public int getPreviewFormat() {
return pixelFormatForCameraFormat(get(KEY_PREVIEW_FORMAT));