diff --git a/api/current.txt b/api/current.txt index 86f1a3b525839..cba55355c0d27 100644 --- a/api/current.txt +++ b/api/current.txt @@ -15829,6 +15829,7 @@ package android.hardware.camera2 { field public static final int HOT_PIXEL_MODE_HIGH_QUALITY = 2; // 0x2 field public static final int HOT_PIXEL_MODE_OFF = 0; // 0x0 field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_3 = 3; // 0x3 + field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL = 4; // 0x4 field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1 field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2; // 0x2 field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0 diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index 1201ef48220a2..a9ed9a3858c0b 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -2978,6 +2978,7 @@ public final class CameraCharacteristics extends CameraMetadata{@link #INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL} *
  • {@link #INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY}
  • *
  • {@link #INFO_SUPPORTED_HARDWARE_LEVEL_3 3}
  • + *
  • {@link #INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL EXTERNAL}
  • *

    *

    This key is available on all devices.

    * @@ -2991,6 +2992,7 @@ public final class CameraCharacteristics extends CameraMetadata INFO_SUPPORTED_HARDWARE_LEVEL = diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index 2294ec56525f2..cc6e9a9642716 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -1134,6 +1134,38 @@ public abstract class CameraMetadata { */ public static final int INFO_SUPPORTED_HARDWARE_LEVEL_3 = 3; + /** + *

    This camera device is backed by an external camera connected to this Android device.

    + *

    The device has capability identical to a LIMITED level device, with the following + * exceptions:

    + *
      + *
    • The device may not report lens/sensor related information such as
        + *
      • {@link CaptureRequest#LENS_FOCAL_LENGTH android.lens.focalLength}
      • + *
      • {@link CameraCharacteristics#LENS_INFO_HYPERFOCAL_DISTANCE android.lens.info.hyperfocalDistance}
      • + *
      • {@link CameraCharacteristics#SENSOR_INFO_PHYSICAL_SIZE android.sensor.info.physicalSize}
      • + *
      • {@link CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL android.sensor.info.whiteLevel}
      • + *
      • {@link CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN android.sensor.blackLevelPattern}
      • + *
      • {@link CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT android.sensor.info.colorFilterArrangement}
      • + *
      • {@link CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW android.sensor.rollingShutterSkew}
      • + *
      + *
    • + *
    • The device will report 0 for {@link CameraCharacteristics#SENSOR_ORIENTATION android.sensor.orientation}
    • + *
    • The device has less guarantee on stable framerate, as the framerate partly depends + * on the external camera being used.
    • + *
    + * + * @see CaptureRequest#LENS_FOCAL_LENGTH + * @see CameraCharacteristics#LENS_INFO_HYPERFOCAL_DISTANCE + * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN + * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + * @see CameraCharacteristics#SENSOR_INFO_PHYSICAL_SIZE + * @see CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL + * @see CameraCharacteristics#SENSOR_ORIENTATION + * @see CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW + * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL + */ + public static final int INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL = 4; + // // Enumeration values for CameraCharacteristics#SYNC_MAX_LATENCY //