From e8d86eb87b4d252ebb2786b88c21c0d9fefec263 Mon Sep 17 00:00:00 2001
From: Chien-Yu Chen
Date: Mon, 27 Nov 2017 15:42:44 -0800
Subject: camera: Add AF scene change key
Test: CTS
Bug: 64847201
Change-Id: I61b05cce0137ace9f806f3bbad2a72b158469a34
---
api/current.txt | 3 +++
core/java/android/hardware/camera2/CameraMetadata.java | 16 ++++++++++++++++
core/java/android/hardware/camera2/CaptureResult.java | 18 ++++++++++++++++++
3 files changed, 37 insertions(+)
diff --git a/api/current.txt b/api/current.txt
index c1188dcd330b..86b401b46b72 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -15483,6 +15483,8 @@ package android.hardware.camera2 {
field public static final int CONTROL_AF_MODE_EDOF = 5; // 0x5
field public static final int CONTROL_AF_MODE_MACRO = 2; // 0x2
field public static final int CONTROL_AF_MODE_OFF = 0; // 0x0
+ field public static final int CONTROL_AF_SCENE_CHANGE_DETECTED = 1; // 0x1
+ field public static final int CONTROL_AF_SCENE_CHANGE_NOT_DETECTED = 0; // 0x0
field public static final int CONTROL_AF_STATE_ACTIVE_SCAN = 3; // 0x3
field public static final int CONTROL_AF_STATE_FOCUSED_LOCKED = 4; // 0x4
field public static final int CONTROL_AF_STATE_INACTIVE = 0; // 0x0
@@ -15757,6 +15759,7 @@ package android.hardware.camera2 {
field public static final android.hardware.camera2.CaptureResult.Key> CONTROL_AE_TARGET_FPS_RANGE;
field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_MODE;
field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_REGIONS;
+ field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_SCENE_CHANGE;
field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_STATE;
field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_TRIGGER;
field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AWB_LOCK;
diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java
index 4b57018bfddf..a7a3df7ff372 100644
--- a/core/java/android/hardware/camera2/CameraMetadata.java
+++ b/core/java/android/hardware/camera2/CameraMetadata.java
@@ -2724,6 +2724,22 @@ public abstract class CameraMetadata {
*/
public static final int CONTROL_AWB_STATE_LOCKED = 3;
+ //
+ // Enumeration values for CaptureResult#CONTROL_AF_SCENE_CHANGE
+ //
+
+ /**
+ * Scene change is not detected within AF regions.
+ * @see CaptureResult#CONTROL_AF_SCENE_CHANGE
+ */
+ public static final int CONTROL_AF_SCENE_CHANGE_NOT_DETECTED = 0;
+
+ /**
+ * Scene change is detected within AF regions.
+ * @see CaptureResult#CONTROL_AF_SCENE_CHANGE
+ */
+ public static final int CONTROL_AF_SCENE_CHANGE_DETECTED = 1;
+
//
// Enumeration values for CaptureResult#FLASH_STATE
//
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index cfad098c0cd2..b7d7f7d90a31 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -2184,6 +2184,24 @@ public class CaptureResult extends CameraMetadata> {
public static final Key CONTROL_ENABLE_ZSL =
new Key("android.control.enableZsl", boolean.class);
+ /**
+ * Whether scene change is detected within AF regions.
+ * When AF detects a scene change within current AF regions, it will be set to DETECTED. Otherwise,
+ * it will be set to NOT_DETECTED. This value will remain NOT_DETECTED if afMode is AF_MODE_OFF or
+ * AF_MODE_EDOF.
+ * Possible values:
+ *
+ * - {@link #CONTROL_AF_SCENE_CHANGE_NOT_DETECTED NOT_DETECTED}
+ * - {@link #CONTROL_AF_SCENE_CHANGE_DETECTED DETECTED}
+ *
+ * Optional - This value may be {@code null} on some devices.
+ * @see #CONTROL_AF_SCENE_CHANGE_NOT_DETECTED
+ * @see #CONTROL_AF_SCENE_CHANGE_DETECTED
+ */
+ @PublicKey
+ public static final Key CONTROL_AF_SCENE_CHANGE =
+ new Key("android.control.afSceneChange", int.class);
+
/**
* Operation mode for edge
* enhancement.
--
cgit v1.2.3-59-g8ed1b