diff options
| -rw-r--r-- | api/current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/hardware/camera2/CameraMetadata.java | 8 | ||||
| -rw-r--r-- | core/java/android/hardware/camera2/CaptureRequest.java | 10 | ||||
| -rw-r--r-- | core/java/android/hardware/camera2/CaptureResult.java | 6 |
4 files changed, 23 insertions, 2 deletions
diff --git a/api/current.txt b/api/current.txt index c08118e4a637..e27a2ed3c0c7 100644 --- a/api/current.txt +++ b/api/current.txt @@ -11427,6 +11427,7 @@ package android.hardware.camera2 { field public static final int CONTROL_EFFECT_MODE_WHITEBOARD = 6; // 0x6 field public static final int CONTROL_MODE_AUTO = 1; // 0x1 field public static final int CONTROL_MODE_OFF = 0; // 0x0 + field public static final int CONTROL_MODE_OFF_KEEP_STATE = 3; // 0x3 field public static final int CONTROL_MODE_USE_SCENE_MODE = 2; // 0x2 field public static final int CONTROL_SCENE_MODE_ACTION = 2; // 0x2 field public static final int CONTROL_SCENE_MODE_BARCODE = 16; // 0x10 diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index 3a0056bd6f5e..03ee50871ef6 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -841,6 +841,14 @@ public abstract class CameraMetadata { */ public static final int CONTROL_MODE_USE_SCENE_MODE = 2; + /** + * <p>Same as OFF mode, except that this capture will not be + * used by camera device background auto-exposure, auto-white balance and + * auto-focus algorithms to update their statistics.</p> + * @see CaptureRequest#CONTROL_MODE + */ + public static final int CONTROL_MODE_OFF_KEEP_STATE = 3; + // // Enumeration values for CaptureRequest#CONTROL_SCENE_MODE // diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index ee180417b540..8f91e0789e2d 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -639,10 +639,10 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { /** * <p>Whether AWB is currently locked to its - * latest calculated values</p> + * latest calculated values.</p> * <p>Note that AWB lock is only meaningful for AUTO * mode; in other modes, AWB is already fixed to a specific - * setting</p> + * setting.</p> */ public static final Key<Boolean> CONTROL_AWB_LOCK = new Key<Boolean>("android.control.awbLock", boolean.class); @@ -763,11 +763,17 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * one of the scene mode settings (such as ACTION, SUNSET, or PARTY) * as it wishes. The camera device scene mode 3A settings are provided by * android.control.sceneModeOverrides.</p> + * <p>When set to OFF_KEEP_STATE, it is similar to OFF mode, the only difference + * is that this frame will not be used by camera device background 3A statistics + * update, as if this frame is never captured. This mode can be used in the scenario + * where the application doesn't want a 3A manual control capture to affect + * the subsequent auto 3A capture results.</p> * * @see CaptureRequest#CONTROL_AF_MODE * @see #CONTROL_MODE_OFF * @see #CONTROL_MODE_AUTO * @see #CONTROL_MODE_USE_SCENE_MODE + * @see #CONTROL_MODE_OFF_KEEP_STATE */ public static final Key<Integer> CONTROL_MODE = new Key<Integer>("android.control.mode", int.class); diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index 543ce214712c..2d82a1f33cab 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -938,11 +938,17 @@ public final class CaptureResult extends CameraMetadata { * one of the scene mode settings (such as ACTION, SUNSET, or PARTY) * as it wishes. The camera device scene mode 3A settings are provided by * android.control.sceneModeOverrides.</p> + * <p>When set to OFF_KEEP_STATE, it is similar to OFF mode, the only difference + * is that this frame will not be used by camera device background 3A statistics + * update, as if this frame is never captured. This mode can be used in the scenario + * where the application doesn't want a 3A manual control capture to affect + * the subsequent auto 3A capture results.</p> * * @see CaptureRequest#CONTROL_AF_MODE * @see #CONTROL_MODE_OFF * @see #CONTROL_MODE_AUTO * @see #CONTROL_MODE_USE_SCENE_MODE + * @see #CONTROL_MODE_OFF_KEEP_STATE */ public static final Key<Integer> CONTROL_MODE = new Key<Integer>("android.control.mode", int.class); |