summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2014-07-10 16:46:07 -0700
committerIgor Murashkin <iam@google.com>2014-07-11 12:59:50 -0700
commit49a1d7b7de171246bb5a644c688ad944ead73062 (patch)
treeea8a864be7993da6ee8544797960f81a6aef83fd /core
parent3e280b4bb23be4e5e66ea6381fd63c74fdbd927e (diff)
downloadframeworks_base-49a1d7b7de171246bb5a644c688ad944ead73062.zip
frameworks_base-49a1d7b7de171246bb5a644c688ad944ead73062.tar.gz
frameworks_base-49a1d7b7de171246bb5a644c688ad944ead73062.tar.bz2
camera2: (legacy) Fixes for CaptureRequestTest#testAeModeAndLock
Change-Id: I5c1008cf34a9d98f67c36966e7cbf1c312979f97
Diffstat (limited to 'core')
-rw-r--r--core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java6
-rw-r--r--core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java4
-rw-r--r--core/java/android/hardware/camera2/legacy/LegacyResultMapper.java21
3 files changed, 26 insertions, 5 deletions
diff --git a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
index d413cbd..519bbb6 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java
@@ -84,10 +84,11 @@ public class LegacyMetadataMapper {
* TODO: Remove these constants and strip out any code that previously relied on them
* being set to true.
*/
- static final boolean LIE_ABOUT_AE_STATE = true;
+ static final boolean LIE_ABOUT_AE_STATE = false;
static final boolean LIE_ABOUT_AE_MAX_REGIONS = false;
static final boolean LIE_ABOUT_AF = true;
static final boolean LIE_ABOUT_AF_MAX_REGIONS = true;
+ static final boolean LIE_ABOUT_AWB_STATE = false;
static final boolean LIE_ABOUT_AWB = true;
/**
@@ -330,16 +331,17 @@ public class LegacyMetadataMapper {
List<String> flashModes = p.getSupportedFlashModes();
String[] flashModeStrings = new String[] {
+ Camera.Parameters.FLASH_MODE_OFF,
Camera.Parameters.FLASH_MODE_AUTO,
Camera.Parameters.FLASH_MODE_ON,
Camera.Parameters.FLASH_MODE_RED_EYE,
// Map these manually
Camera.Parameters.FLASH_MODE_TORCH,
- Camera.Parameters.FLASH_MODE_OFF,
};
int[] flashModeInts = new int[] {
CONTROL_AE_MODE_ON,
CONTROL_AE_MODE_ON_AUTO_FLASH,
+ CONTROL_AE_MODE_ON_ALWAYS_FLASH,
CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE
};
int[] aeAvail = ArrayUtils.convertStringListToIntArray(
diff --git a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
index 124fa42..273bd89 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyRequestMapper.java
@@ -182,6 +182,10 @@ public class LegacyRequestMapper {
params.setAutoExposureLock(aeLock);
}
+ if (VERBOSE) {
+ Log.v(TAG, "convertRequestToMetadata - control.aeLock set to " + aeLock);
+ }
+
// TODO: Don't add control.aeLock to availableRequestKeys if it's not supported
}
diff --git a/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java b/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java
index 375e6e0..c02f8ac 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyResultMapper.java
@@ -80,19 +80,22 @@ public class LegacyResultMapper {
/*
* control.ae*
*/
- mapAe(result, activeArraySize, zoomData, /*out*/params);
+ mapAe(result, request, activeArraySize, zoomData, /*out*/params);
// control.awbLock
result.set(CaptureResult.CONTROL_AWB_LOCK, params.getAutoWhiteBalanceLock());
// control.awbState
- if (LegacyMetadataMapper.LIE_ABOUT_AWB) {
+ if (LegacyMetadataMapper.LIE_ABOUT_AWB_STATE) {
// Lie to pass CTS temporarily.
// TODO: CTS needs to be updated not to query this value
// for LIMITED devices unless its guaranteed to be available.
result.set(CaptureResult.CONTROL_AWB_STATE,
CameraMetadata.CONTROL_AWB_STATE_CONVERGED);
// TODO: Read the awb mode from parameters instead
+ }
+
+ if (LegacyMetadataMapper.LIE_ABOUT_AWB) {
result.set(CaptureResult.CONTROL_AWB_MODE,
request.get(CaptureRequest.CONTROL_AWB_MODE));
}
@@ -119,7 +122,7 @@ public class LegacyResultMapper {
}
private static void mapAe(CameraMetadataNative m,
- Rect activeArray, ZoomData zoomData, /*out*/Parameters p) {
+ CaptureRequest request, Rect activeArray, ZoomData zoomData, /*out*/Parameters p) {
// control.aeAntiBandingMode
{
int antiBandingMode = LegacyMetadataMapper.convertAntiBandingModeOrDefault(
@@ -136,6 +139,18 @@ public class LegacyResultMapper {
{
boolean lock = p.isAutoExposureLockSupported() ? p.getAutoExposureLock() : false;
m.set(CONTROL_AE_LOCK, lock);
+ if (VERBOSE) {
+ Log.v(TAG,
+ "mapAe - android.control.aeLock = " + lock +
+ ", supported = " + p.isAutoExposureLockSupported());
+ }
+
+ Boolean requestLock = request.get(CaptureRequest.CONTROL_AE_LOCK);
+ if (requestLock != null && requestLock != lock) {
+ Log.w(TAG,
+ "mapAe - android.control.aeLock was requested to " + requestLock +
+ " but resulted in " + lock);
+ }
}
// control.aeMode, flash.mode