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

Commit 370b27ad authored by Changyeon Jo's avatar Changyeon Jo Committed by Android (Google) Code Review
Browse files

Merge "Camera: Add automotive metadata section"

parents 8a34ad13 1d5f34a9
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -17234,6 +17234,8 @@ package android.hardware.camera2 {
    method @NonNull public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeysNeedingPermission();
    method @NonNull public java.util.Set<java.lang.String> getPhysicalCameraIds();
    method @Nullable public android.hardware.camera2.params.RecommendedStreamConfigurationMap getRecommendedStreamConfigurationMap(int);
    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> AUTOMOTIVE_LENS_FACING;
    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> AUTOMOTIVE_LOCATION;
    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_MODES;
@@ -17472,6 +17474,32 @@ package android.hardware.camera2 {
  public abstract class CameraMetadata<TKey> {
    method @NonNull public java.util.List<TKey> getKeys();
    field public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT = 1; // 0x1
    field public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT = 3; // 0x3
    field public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER = 0; // 0x0
    field public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR = 2; // 0x2
    field public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT = 4; // 0x4
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER = 5; // 0x5
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER = 7; // 0x7
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT = 6; // 0x6
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT = 8; // 0x8
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER = 10; // 0xa
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT = 9; // 0x9
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT = 11; // 0xb
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER = 13; // 0xd
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT = 12; // 0xc
    field public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT = 14; // 0xe
    field public static final int AUTOMOTIVE_LOCATION_EXTERIOR_FRONT = 2; // 0x2
    field public static final int AUTOMOTIVE_LOCATION_EXTERIOR_LEFT = 4; // 0x4
    field public static final int AUTOMOTIVE_LOCATION_EXTERIOR_OTHER = 1; // 0x1
    field public static final int AUTOMOTIVE_LOCATION_EXTERIOR_REAR = 3; // 0x3
    field public static final int AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT = 5; // 0x5
    field public static final int AUTOMOTIVE_LOCATION_EXTRA_FRONT = 7; // 0x7
    field public static final int AUTOMOTIVE_LOCATION_EXTRA_LEFT = 9; // 0x9
    field public static final int AUTOMOTIVE_LOCATION_EXTRA_OTHER = 6; // 0x6
    field public static final int AUTOMOTIVE_LOCATION_EXTRA_REAR = 8; // 0x8
    field public static final int AUTOMOTIVE_LOCATION_EXTRA_RIGHT = 10; // 0xa
    field public static final int AUTOMOTIVE_LOCATION_INTERIOR = 0; // 0x0
    field public static final int COLOR_CORRECTION_ABERRATION_MODE_FAST = 1; // 0x1
    field public static final int COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY = 2; // 0x2
    field public static final int COLOR_CORRECTION_ABERRATION_MODE_OFF = 0; // 0x0
@@ -17606,6 +17634,7 @@ package android.hardware.camera2 {
    field public static final int LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED = 0; // 0x0
    field public static final int LENS_OPTICAL_STABILIZATION_MODE_OFF = 0; // 0x0
    field public static final int LENS_OPTICAL_STABILIZATION_MODE_ON = 1; // 0x1
    field public static final int LENS_POSE_REFERENCE_AUTOMOTIVE = 3; // 0x3
    field public static final int LENS_POSE_REFERENCE_GYROSCOPE = 1; // 0x1
    field public static final int LENS_POSE_REFERENCE_PRIMARY_CAMERA = 0; // 0x0
    field public static final int LENS_POSE_REFERENCE_UNDEFINED = 2; // 0x2
+134 −0
Original line number Diff line number Diff line
@@ -1678,6 +1678,9 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
     * with PRIMARY_CAMERA.</p>
     * <p>When {@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference} is UNDEFINED, this position cannot be accurately
     * represented by the camera device, and will be represented as <code>(0, 0, 0)</code>.</p>
     * <p>When {@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference} is AUTOMOTIVE, then this position is relative to the
     * origin of the automotive sensor coordinate system, which is at the center of the rear
     * axle.</p>
     * <p><b>Units</b>: Meters</p>
     * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
@@ -1824,6 +1827,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
     *   <li>{@link #LENS_POSE_REFERENCE_PRIMARY_CAMERA PRIMARY_CAMERA}</li>
     *   <li>{@link #LENS_POSE_REFERENCE_GYROSCOPE GYROSCOPE}</li>
     *   <li>{@link #LENS_POSE_REFERENCE_UNDEFINED UNDEFINED}</li>
     *   <li>{@link #LENS_POSE_REFERENCE_AUTOMOTIVE AUTOMOTIVE}</li>
     * </ul>
     *
     * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
@@ -1834,6 +1838,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
     * @see #LENS_POSE_REFERENCE_PRIMARY_CAMERA
     * @see #LENS_POSE_REFERENCE_GYROSCOPE
     * @see #LENS_POSE_REFERENCE_UNDEFINED
     * @see #LENS_POSE_REFERENCE_AUTOMOTIVE
     */
    @PublicKey
    @NonNull
@@ -5166,6 +5171,135 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
    public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION =
            new Key<android.hardware.camera2.params.StreamConfigurationDuration[]>("android.heic.availableHeicStallDurationsMaximumResolution", android.hardware.camera2.params.StreamConfigurationDuration[].class);

    /**
     * <p>The direction of the camera faces relative to the vehicle body frame and the
     * passenger seats.</p>
     * <p>This enum defines the lens facing characteristic of the cameras on the automotive
     * devices with locations {@link CameraCharacteristics#AUTOMOTIVE_LOCATION android.automotive.location} defines.  If the system has
     * FEATURE_AUTOMOTIVE, the camera will have this entry in its static metadata.</p>
     * <p>When {@link CameraCharacteristics#AUTOMOTIVE_LOCATION android.automotive.location} is INTERIOR, this has one or more INTERIOR_*
     * values or a single EXTERIOR_* value.  When this has more than one INTERIOR_*,
     * the first value must be the one for the seat closest to the optical axis. If this
     * contains INTERIOR_OTHER, all other values will be ineffective.</p>
     * <p>When {@link CameraCharacteristics#AUTOMOTIVE_LOCATION android.automotive.location} is EXTERIOR_* or EXTRA, this has a single
     * EXTERIOR_* value.</p>
     * <p>If a camera has INTERIOR_OTHER or EXTERIOR_OTHER, or more than one camera is at the
     * same location and facing the same direction, their static metadata will list the
     * following entries, so that applications can determain their lenses' exact facing
     * directions:</p>
     * <ul>
     * <li>{@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference}</li>
     * <li>{@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}</li>
     * <li>{@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}</li>
     * </ul>
     * <p><b>Possible values:</b></p>
     * <ul>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER EXTERIOR_OTHER}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT EXTERIOR_FRONT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR EXTERIOR_REAR}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT EXTERIOR_LEFT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT EXTERIOR_RIGHT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER INTERIOR_OTHER}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT INTERIOR_SEAT_ROW_1_LEFT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER INTERIOR_SEAT_ROW_1_CENTER}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT INTERIOR_SEAT_ROW_1_RIGHT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT INTERIOR_SEAT_ROW_2_LEFT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER INTERIOR_SEAT_ROW_2_CENTER}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT INTERIOR_SEAT_ROW_2_RIGHT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT INTERIOR_SEAT_ROW_3_LEFT}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER INTERIOR_SEAT_ROW_3_CENTER}</li>
     *   <li>{@link #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT INTERIOR_SEAT_ROW_3_RIGHT}</li>
     * </ul>
     *
     * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
     *
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     * @see CameraCharacteristics#LENS_POSE_REFERENCE
     * @see CameraCharacteristics#LENS_POSE_ROTATION
     * @see CameraCharacteristics#LENS_POSE_TRANSLATION
     * @see #AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER
     * @see #AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT
     * @see #AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR
     * @see #AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT
     * @see #AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER
     * @see #AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT
     */
    @PublicKey
    @NonNull
    public static final Key<int[]> AUTOMOTIVE_LENS_FACING =
            new Key<int[]>("android.automotive.lens.facing", int[].class);

    /**
     * <p>Location of the cameras on the automotive devices.</p>
     * <p>This enum defines the locations of the cameras relative to the vehicle body frame on
     * <a href="https://source.android.com/devices/sensors/sensor-types#auto_axes">the automotive sensor coordinate system</a>.
     * If the system has FEATURE_AUTOMOTIVE, the camera will have this entry in its static
     * metadata.</p>
     * <ul>
     * <li>INTERIOR is the inside of the vehicle body frame (or the passenger cabin).</li>
     * <li>EXTERIOR is the outside of the vehicle body frame.</li>
     * <li>EXTRA is the extra vehicle such as a trailer.</li>
     * </ul>
     * <p>Each side of the vehicle body frame on this coordinate system is defined as below:</p>
     * <ul>
     * <li>FRONT is where the Y-axis increases toward.</li>
     * <li>REAR is where the Y-axis decreases toward.</li>
     * <li>LEFT is where the X-axis decreases toward.</li>
     * <li>RIGHT is where the X-axis increases toward.</li>
     * </ul>
     * <p>If the camera has either EXTERIOR_OTHER or EXTRA_OTHER, its static metadata will list
     * the following entries, so that applications can determine the camera's exact location:</p>
     * <ul>
     * <li>{@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference}</li>
     * <li>{@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}</li>
     * <li>{@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}</li>
     * </ul>
     * <p><b>Possible values:</b></p>
     * <ul>
     *   <li>{@link #AUTOMOTIVE_LOCATION_INTERIOR INTERIOR}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTERIOR_OTHER EXTERIOR_OTHER}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTERIOR_FRONT EXTERIOR_FRONT}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTERIOR_REAR EXTERIOR_REAR}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTERIOR_LEFT EXTERIOR_LEFT}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT EXTERIOR_RIGHT}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTRA_OTHER EXTRA_OTHER}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTRA_FRONT EXTRA_FRONT}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTRA_REAR EXTRA_REAR}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTRA_LEFT EXTRA_LEFT}</li>
     *   <li>{@link #AUTOMOTIVE_LOCATION_EXTRA_RIGHT EXTRA_RIGHT}</li>
     * </ul>
     *
     * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
     *
     * @see CameraCharacteristics#LENS_POSE_REFERENCE
     * @see CameraCharacteristics#LENS_POSE_ROTATION
     * @see CameraCharacteristics#LENS_POSE_TRANSLATION
     * @see #AUTOMOTIVE_LOCATION_INTERIOR
     * @see #AUTOMOTIVE_LOCATION_EXTERIOR_OTHER
     * @see #AUTOMOTIVE_LOCATION_EXTERIOR_FRONT
     * @see #AUTOMOTIVE_LOCATION_EXTERIOR_REAR
     * @see #AUTOMOTIVE_LOCATION_EXTERIOR_LEFT
     * @see #AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT
     * @see #AUTOMOTIVE_LOCATION_EXTRA_OTHER
     * @see #AUTOMOTIVE_LOCATION_EXTRA_FRONT
     * @see #AUTOMOTIVE_LOCATION_EXTRA_REAR
     * @see #AUTOMOTIVE_LOCATION_EXTRA_LEFT
     * @see #AUTOMOTIVE_LOCATION_EXTRA_RIGHT
     */
    @PublicKey
    @NonNull
    public static final Key<Integer> AUTOMOTIVE_LOCATION =
            new Key<Integer>("android.automotive.location", int.class);

    /*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
     * End generated code
     *~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~O@*/
+194 −0
Original line number Diff line number Diff line
@@ -407,6 +407,15 @@ public abstract class CameraMetadata<TKey> {
     */
    public static final int LENS_POSE_REFERENCE_UNDEFINED = 2;

    /**
     * <p>The value of {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation} is relative to the origin of the
     * automotive sensor coodinate system, which is at the center of the rear axle.</p>
     *
     * @see CameraCharacteristics#LENS_POSE_TRANSLATION
     * @see CameraCharacteristics#LENS_POSE_REFERENCE
     */
    public static final int LENS_POSE_REFERENCE_AUTOMOTIVE = 3;

    //
    // Enumeration values for CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
    //
@@ -1828,6 +1837,191 @@ public abstract class CameraMetadata<TKey> {
     */
    public static final int LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED = 1;

    //
    // Enumeration values for CameraCharacteristics#AUTOMOTIVE_LENS_FACING
    //

    /**
     * <p>The camera device faces the outside of the vehicle body frame but not exactly
     * one of the exterior sides defined by this enum.  Applications should determine
     * the exact facing direction from {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} and
     * {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}.</p>
     *
     * @see CameraCharacteristics#LENS_POSE_ROTATION
     * @see CameraCharacteristics#LENS_POSE_TRANSLATION
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER = 0;

    /**
     * <p>The camera device faces the front of the vehicle body frame.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT = 1;

    /**
     * <p>The camera device faces the rear of the vehicle body frame.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR = 2;

    /**
     * <p>The camera device faces the left side of the vehicle body frame.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT = 3;

    /**
     * <p>The camera device faces the right side of the vehicle body frame.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT = 4;

    /**
     * <p>The camera device faces the inside of the vehicle body frame but not exactly
     * one of seats described by this enum.  Applications should determine the exact
     * facing direction from {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} and {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}.</p>
     *
     * @see CameraCharacteristics#LENS_POSE_ROTATION
     * @see CameraCharacteristics#LENS_POSE_TRANSLATION
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER = 5;

    /**
     * <p>The camera device faces the left side seat of the first row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT = 6;

    /**
     * <p>The camera device faces the center seat of the first row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER = 7;

    /**
     * <p>The camera device faces the right seat of the first row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT = 8;

    /**
     * <p>The camera device faces the left side seat of the second row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT = 9;

    /**
     * <p>The camera device faces the center seat of the second row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER = 10;

    /**
     * <p>The camera device faces the right side seat of the second row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT = 11;

    /**
     * <p>The camera device faces the left side seat of the third row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT = 12;

    /**
     * <p>The camera device faces the center seat of the third row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER = 13;

    /**
     * <p>The camera device faces the right seat of the third row.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LENS_FACING
     */
    public static final int AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT = 14;

    //
    // Enumeration values for CameraCharacteristics#AUTOMOTIVE_LOCATION
    //

    /**
     * <p>The camera device exists inside of the vehicle cabin.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_INTERIOR = 0;

    /**
     * <p>The camera exists outside of the vehicle body frame but not exactly on one of the
     * exterior locations this enum defines.  The applications should determine the exact
     * location from {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}.</p>
     *
     * @see CameraCharacteristics#LENS_POSE_TRANSLATION
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTERIOR_OTHER = 1;

    /**
     * <p>The camera device exists outside of the vehicle body frame and on its front side.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTERIOR_FRONT = 2;

    /**
     * <p>The camera device exists outside of the vehicle body frame and on its rear side.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTERIOR_REAR = 3;

    /**
     * <p>The camera device exists outside and on left side of the vehicle body frame.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTERIOR_LEFT = 4;

    /**
     * <p>The camera device exists outside and on right side of the vehicle body frame.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT = 5;

    /**
     * <p>The camera device exists on an extra vehicle, such as the trailer, but not exactly
     * on one of front, rear, left, or right side.  Applications should determine the exact
     * location from {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}.</p>
     *
     * @see CameraCharacteristics#LENS_POSE_TRANSLATION
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTRA_OTHER = 6;

    /**
     * <p>The camera device exists outside of the extra vehicle's body frame and on its front
     * side.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTRA_FRONT = 7;

    /**
     * <p>The camera device exists outside of the extra vehicle's body frame and on its rear
     * side.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTRA_REAR = 8;

    /**
     * <p>The camera device exists outside and on left side of the extra vehicle body.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTRA_LEFT = 9;

    /**
     * <p>The camera device exists outside and on right side of the extra vehicle body.</p>
     * @see CameraCharacteristics#AUTOMOTIVE_LOCATION
     */
    public static final int AUTOMOTIVE_LOCATION_EXTRA_RIGHT = 10;

    //
    // Enumeration values for CaptureRequest#COLOR_CORRECTION_MODE
    //
+3 −0
Original line number Diff line number Diff line
@@ -3239,6 +3239,9 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
     * with PRIMARY_CAMERA.</p>
     * <p>When {@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference} is UNDEFINED, this position cannot be accurately
     * represented by the camera device, and will be represented as <code>(0, 0, 0)</code>.</p>
     * <p>When {@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference} is AUTOMOTIVE, then this position is relative to the
     * origin of the automotive sensor coordinate system, which is at the center of the rear
     * axle.</p>
     * <p><b>Units</b>: Meters</p>
     * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
     * <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>