Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0408aa1 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 24559 into donut

* changes:
  docs only. add documentation to notify developers about variable camera specifications and add some more links
parents c2d3fc2c df4578e8
Loading
Loading
Loading
Loading
+45 −6
Original line number Diff line number Diff line
@@ -35,6 +35,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";
@@ -172,8 +189,9 @@ public class Camera {
        /**
         * The callback that delivers the preview frames.
         *
         * @param data The contents of the preview frame in getPreviewFormat()
         *             format.
         * @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()}.
         * @param camera The Camera service object.
         */
        void onPreviewFrame(byte[] data, Camera camera);
@@ -296,6 +314,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
    {
@@ -312,6 +337,14 @@ public class Camera {
     * Starts auto-focus function and registers a callback function to
     * run when camera is focused. Only valid after startPreview() has
     * been called.
     * <p>Devices that do not support auto-focus will trigger a "fake" 
     * callback to the 
     * {@link android.hardware.Camera.AutoFocusCallback}. 
     * 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
     */
@@ -669,9 +702,14 @@ public class Camera {

        /**
         * Sets the image format for preview pictures. 
         * 
         * @param pixel_format the desired preview picture format 
         *                     (<var>PixelFormat.YCbCr_420_SP</var>,
         * <p>If the image format is not set with this method, then the
         * preview format will default to 
         * {@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
@@ -688,7 +726,8 @@ public class Camera {
        /**
         * Returns the image format for preview pictures.
         * 
         * @return the PixelFormat int representing the preview picture format
         * @return the {@link android.graphics.PixelFormat} int representing 
         *         the preview picture format.
         */
        public int getPreviewFormat() {
            return pixelFormatForCameraFormat(get("preview-format"));
+6 −0
Original line number Diff line number Diff line
@@ -52,6 +52,12 @@ public class PixelFormat
     * by the hardware.
     */
    public static final int YCbCr_422_SP= 0x10;

    /** YCbCr format used for images, which uses the NV21 encoding format.   
     *  This is the default format for camera preview images, when not
     *  otherwise set with 
     *  {@link android.hardware.Camera.Parameters#setPreviewFormat(int)}.
     */
    public static final int YCbCr_420_SP= 0x11;

    /**