am 46bb976f: Camera2: Use ColorSpaceTransform, RggbChannelVector; int[] for enum lists
* commit '46bb976fc5f48be82585dabaacdbae8ef0e5cdd3':
Camera2: Use ColorSpaceTransform, RggbChannelVector; int[] for enum lists
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
index f09b1f1..8baecac 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
@@ -33,6 +33,8 @@
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.CaptureResult;
import android.hardware.camera2.TotalCaptureResult;
+import android.hardware.camera2.params.ColorSpaceTransform;
+import android.hardware.camera2.params.RggbChannelVector;
import android.util.Size;
import android.hardware.camera2.cts.helpers.MaybeNull;
import android.hardware.camera2.cts.helpers.StaticMetadata;
@@ -149,14 +151,15 @@
// Identity transform
request.set(CaptureRequest.COLOR_CORRECTION_TRANSFORM,
- new Rational[] {
+ new ColorSpaceTransform(new Rational[] {
ONE, ZERO, ZERO,
ZERO, ONE, ZERO,
ZERO, ZERO, ONE
- });
+ }));
// Identity gains
- request.set(CaptureRequest.COLOR_CORRECTION_GAINS, new float[] { 1.0f, 1.0f, 1.0f, 1.0f });
+ request.set(CaptureRequest.COLOR_CORRECTION_GAINS,
+ new RggbChannelVector(1.0f, 1.0f, 1.0f, 1.0f ));
request.set(CaptureRequest.TONEMAP_MODE, CaptureRequest.TONEMAP_MODE_FAST);
}
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
index 0c8841a..d61f667 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
@@ -691,7 +691,7 @@
}
int targetAfMode = CaptureRequest.CONTROL_AF_MODE_AUTO;
- byte[] availableAfMode = props.get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
+ int[] availableAfMode = props.get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
if (template == CameraDevice.TEMPLATE_PREVIEW ||
template == CameraDevice.TEMPLATE_STILL_CAPTURE ||
template == CameraDevice.TEMPLATE_ZERO_SHUTTER_LAG) {
@@ -799,7 +799,7 @@
mCollector.expectKeyValueNotNull(request, LENS_FOCAL_LENGTH);
}
- byte[] availableOIS =
+ int[] availableOIS =
props.get(CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION);
if (availableOIS.length > 1) {
mCollector.expectKeyValueNotNull(request, LENS_OPTICAL_STABILIZATION_MODE);
@@ -826,26 +826,26 @@
request, COLOR_CORRECTION_MODE,
CaptureRequest.COLOR_CORRECTION_MODE_TRANSFORM_MATRIX);
- List<Byte> availableEdgeModes =
+ List<Integer> availableEdgeModes =
Arrays.asList(toObject(mStaticInfo.getAvailableEdgeModesChecked()));
- if (availableEdgeModes.contains((byte) CaptureRequest.EDGE_MODE_HIGH_QUALITY)) {
+ if (availableEdgeModes.contains(CaptureRequest.EDGE_MODE_HIGH_QUALITY)) {
mCollector.expectKeyValueEquals(request, EDGE_MODE,
CaptureRequest.EDGE_MODE_HIGH_QUALITY);
- } else if (availableEdgeModes.contains((byte) CaptureRequest.EDGE_MODE_FAST)) {
+ } else if (availableEdgeModes.contains(CaptureRequest.EDGE_MODE_FAST)) {
mCollector.expectKeyValueEquals(request, EDGE_MODE, CaptureRequest.EDGE_MODE_FAST);
} else {
mCollector.expectKeyValueEquals(request, EDGE_MODE, CaptureRequest.EDGE_MODE_OFF);
}
- List<Byte> availableNoiseReductionModes =
+ List<Integer> availableNoiseReductionModes =
Arrays.asList(toObject(mStaticInfo.getAvailableNoiseReductionModesChecked()));
if (availableNoiseReductionModes
- .contains((byte) CaptureRequest.NOISE_REDUCTION_MODE_HIGH_QUALITY)) {
+ .contains(CaptureRequest.NOISE_REDUCTION_MODE_HIGH_QUALITY)) {
mCollector.expectKeyValueEquals(
request, NOISE_REDUCTION_MODE,
CaptureRequest.NOISE_REDUCTION_MODE_HIGH_QUALITY);
} else if (availableNoiseReductionModes
- .contains((byte) CaptureRequest.NOISE_REDUCTION_MODE_FAST)) {
+ .contains(CaptureRequest.NOISE_REDUCTION_MODE_FAST)) {
mCollector.expectKeyValueEquals(
request, NOISE_REDUCTION_MODE, CaptureRequest.NOISE_REDUCTION_MODE_FAST);
} else {
@@ -853,9 +853,9 @@
request, NOISE_REDUCTION_MODE, CaptureRequest.NOISE_REDUCTION_MODE_OFF);
}
- List<Byte> availableToneMapModes =
+ List<Integer> availableToneMapModes =
Arrays.asList(toObject(mStaticInfo.getAvailableToneMapModesChecked()));
- if (availableToneMapModes.contains((byte) CaptureRequest.TONEMAP_MODE_HIGH_QUALITY)) {
+ if (availableToneMapModes.contains(CaptureRequest.TONEMAP_MODE_HIGH_QUALITY)) {
mCollector.expectKeyValueEquals(request, TONEMAP_MODE,
CaptureRequest.TONEMAP_MODE_HIGH_QUALITY);
} else {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
index baa60dc..372796b 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
@@ -31,6 +31,8 @@
import android.hardware.camera2.cts.testcases.Camera2SurfaceViewTestCase;
import android.hardware.camera2.params.Face;
import android.hardware.camera2.params.MeteringRectangle;
+import android.hardware.camera2.params.ColorSpaceTransform;
+import android.hardware.camera2.params.RggbChannelVector;
import android.util.Log;
import android.util.Range;
import android.util.Rational;
@@ -238,12 +240,12 @@
continue;
}
- byte[] modes = mStaticInfo.getAeAvailableAntiBandingModesChecked();
+ int[] modes = mStaticInfo.getAeAvailableAntiBandingModesChecked();
Size previewSz =
getMaxPreviewSize(mCamera.getId(), mCameraManager, PREVIEW_SIZE_BOUND);
- for (byte mode : modes) {
+ for (int mode : modes) {
antiBandingTestByMode(previewSz, mode);
}
} finally {
@@ -279,8 +281,8 @@
updatePreviewSurface(maxPreviewSz);
// Test aeMode and lock
- byte[] aeModes = mStaticInfo.getAeAvailableModesChecked();
- for (byte mode : aeModes) {
+ int[] aeModes = mStaticInfo.getAeAvailableModesChecked();
+ for (int mode : aeModes) {
aeModeAndLockTestByMode(mode);
}
} finally {
@@ -543,12 +545,12 @@
Size maxPrevSize = mOrderedPreviewSizes.get(0);
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
- byte[] availableModes = mStaticInfo.getAvailableNoiseReductionModesChecked();
+ int[] availableModes = mStaticInfo.getAvailableNoiseReductionModesChecked();
SimpleCaptureListener resultListener = new SimpleCaptureListener();
startPreview(requestBuilder, maxPrevSize, resultListener);
- for (byte mode : availableModes) {
- requestBuilder.set(CaptureRequest.NOISE_REDUCTION_MODE, (int)mode);
+ for (int mode : availableModes) {
+ requestBuilder.set(CaptureRequest.NOISE_REDUCTION_MODE, mode);
resultListener = new SimpleCaptureListener();
mCamera.setRepeatingRequest(requestBuilder.build(), resultListener, mHandler);
@@ -660,14 +662,14 @@
*/
private void edgeModesTestByCamera() throws Exception {
Size maxPrevSize = mOrderedPreviewSizes.get(0);
- byte[] edgeModes = mStaticInfo.getAvailableEdgeModesChecked();
+ int[] edgeModes = mStaticInfo.getAvailableEdgeModesChecked();
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
SimpleCaptureListener resultListener = new SimpleCaptureListener();
startPreview(requestBuilder, maxPrevSize, resultListener);
- for (byte mode : edgeModes) {
- requestBuilder.set(CaptureRequest.EDGE_MODE, (int)mode);
+ for (int mode : edgeModes) {
+ requestBuilder.set(CaptureRequest.EDGE_MODE, mode);
resultListener = new SimpleCaptureListener();
mCamera.setRepeatingRequest(requestBuilder.build(), resultListener, mHandler);
@@ -707,12 +709,15 @@
// TRANSFORM_MATRIX mode
// Only test unit gain and identity transform
- float[] UNIT_GAIN = {1.0f, 1.0f, 1.0f, 1.0f};
- Rational[] IDENTITY_TRANSFORM = {
+ RggbChannelVector UNIT_GAIN = new RggbChannelVector(1.0f, 1.0f, 1.0f, 1.0f);
+
+ ColorSpaceTransform IDENTITY_TRANSFORM = new ColorSpaceTransform(
+ new Rational[] {
ONE_R, ZERO_R, ZERO_R,
ZERO_R, ONE_R, ZERO_R,
ZERO_R, ZERO_R, ONE_R
- };
+ });
+
manualRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_OFF);
manualRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
CaptureRequest.COLOR_CORRECTION_MODE_TRANSFORM_MATRIX);
@@ -721,11 +726,11 @@
request = manualRequestBuilder.build();
mCamera.capture(request, listener, mHandler);
result = listener.getCaptureResultForRequest(request, NUM_RESULTS_WAIT_TIMEOUT);
- float[] gains = result.get(CaptureResult.COLOR_CORRECTION_GAINS);
- Rational[] transform = result.get(CaptureResult.COLOR_CORRECTION_TRANSFORM);
+ RggbChannelVector gains = result.get(CaptureResult.COLOR_CORRECTION_GAINS);
+ ColorSpaceTransform transform = result.get(CaptureResult.COLOR_CORRECTION_TRANSFORM);
validateColorCorrectionResult(result);
mCollector.expectEquals("Color correction gain result/request mismatch",
- CameraTestUtils.toObject(UNIT_GAIN), CameraTestUtils.toObject(gains));
+ UNIT_GAIN, gains);
mCollector.expectEquals("Color correction gain result/request mismatch",
IDENTITY_TRANSFORM, transform);
@@ -749,27 +754,24 @@
}
private void validateColorCorrectionResult(CaptureResult result) {
- float[] ZERO_GAINS = {0, 0, 0, 0};
+ final RggbChannelVector ZERO_GAINS = new RggbChannelVector(0, 0, 0, 0);
final int TRANSFORM_SIZE = 9;
Rational[] zeroTransform = new Rational[TRANSFORM_SIZE];
Arrays.fill(zeroTransform, ZERO_R);
+ final ColorSpaceTransform ZERO_TRANSFORM = new ColorSpaceTransform(zeroTransform);
- float[] resultGain;
+ RggbChannelVector resultGain;
if ((resultGain = mCollector.expectKeyValueNotNull(result,
CaptureResult.COLOR_CORRECTION_GAINS)) != null) {
- mCollector.expectEquals("Color correction gain size in incorrect",
- ZERO_GAINS.length, resultGain.length);
mCollector.expectKeyValueNotEquals(result,
CaptureResult.COLOR_CORRECTION_GAINS, ZERO_GAINS);
}
- Rational[] resultTransform;
+ ColorSpaceTransform resultTransform;
if ((resultTransform = mCollector.expectKeyValueNotNull(result,
CaptureResult.COLOR_CORRECTION_TRANSFORM)) != null) {
- mCollector.expectEquals("Color correction transform size is incorrect",
- zeroTransform.length, resultTransform.length);
mCollector.expectKeyValueNotEquals(result,
- CaptureResult.COLOR_CORRECTION_TRANSFORM, zeroTransform);
+ CaptureResult.COLOR_CORRECTION_TRANSFORM, ZERO_TRANSFORM);
}
}
@@ -1152,15 +1154,15 @@
if (!mStaticInfo.isHardwareLevelFull()) {
return;
}
- byte[] faceDetectModes = mStaticInfo.getAvailableFaceDetectModesChecked();
+ int[] faceDetectModes = mStaticInfo.getAvailableFaceDetectModesChecked();
SimpleCaptureListener listener;
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
Size maxPreviewSz = mOrderedPreviewSizes.get(0); // Max preview size.
- for (byte mode : faceDetectModes) {
- requestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, (int)mode);
+ for (int mode : faceDetectModes) {
+ requestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, mode);
if (VERBOSE) {
Log.v(TAG, "Start testing face detection mode " + mode);
}
@@ -1273,9 +1275,9 @@
Size maxPreviewSz = mOrderedPreviewSizes.get(0); // Max preview size.
- byte[] toneMapModes = mStaticInfo.getAvailableToneMapModesChecked();
- for (byte mode : toneMapModes) {
- requestBuilder.set(CaptureRequest.TONEMAP_MODE, (int)mode);
+ int[] toneMapModes = mStaticInfo.getAvailableToneMapModesChecked();
+ for (int mode : toneMapModes) {
+ requestBuilder.set(CaptureRequest.TONEMAP_MODE, mode);
if (VERBOSE) {
Log.v(TAG, "Testing tonemap mode " + mode);
}
@@ -1387,20 +1389,20 @@
* </p>
*/
private void awbModeAndLockTestByCamera() throws Exception {
- byte[] awbModes = mStaticInfo.getAwbAvailableModesChecked();
+ int[] awbModes = mStaticInfo.getAwbAvailableModesChecked();
Size maxPreviewSize = mOrderedPreviewSizes.get(0);
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
startPreview(requestBuilder, maxPreviewSize, /*listener*/null);
- for (byte mode : awbModes) {
+ for (int mode : awbModes) {
SimpleCaptureListener listener;
- requestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, (int)mode);
+ requestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, mode);
listener = new SimpleCaptureListener();
mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
// Verify AWB mode in capture result.
- verifyCaptureResultForKey(CaptureResult.CONTROL_AWB_MODE, (int)mode, listener,
+ verifyCaptureResultForKey(CaptureResult.CONTROL_AWB_MODE, mode, listener,
NUM_FRAMES_VERIFIED);
// Verify color correction transform and gains stay unchanged after a lock.
@@ -1416,19 +1418,20 @@
private void verifyAwbCaptureResultUnchanged(SimpleCaptureListener listener,
int numFramesVerified) {
CaptureResult result = listener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
- float[] lockedGains = getValueNotNull(result, CaptureResult.COLOR_CORRECTION_GAINS);
- Rational[] lockedTransform =
+ RggbChannelVector lockedGains =
+ getValueNotNull(result, CaptureResult.COLOR_CORRECTION_GAINS);
+ ColorSpaceTransform lockedTransform =
getValueNotNull(result, CaptureResult.COLOR_CORRECTION_TRANSFORM);
for (int i = 0; i < numFramesVerified; i++) {
result = listener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
validateColorCorrectionResult(result);
- float[] gains = getValueNotNull(result, CaptureResult.COLOR_CORRECTION_GAINS);
- Rational[] transform =
+ RggbChannelVector gains = getValueNotNull(result, CaptureResult.COLOR_CORRECTION_GAINS);
+ ColorSpaceTransform transform =
getValueNotNull(result, CaptureResult.COLOR_CORRECTION_TRANSFORM);
mCollector.expectEquals("Color correction gains should remain unchanged after awb lock",
- toObject(lockedGains), toObject(gains));
+ lockedGains, gains);
mCollector.expectEquals("Color correction transform should remain unchanged after"
+ " awb lock", lockedTransform, transform);
}
@@ -1444,20 +1447,20 @@
* </p>
*/
private void afModeTestByCamera() throws Exception {
- byte[] afModes = mStaticInfo.getAfAvailableModesChecked();
+ int[] afModes = mStaticInfo.getAfAvailableModesChecked();
Size maxPreviewSize = mOrderedPreviewSizes.get(0);
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
startPreview(requestBuilder, maxPreviewSize, /*listener*/null);
- for (byte mode : afModes) {
+ for (int mode : afModes) {
SimpleCaptureListener listener;
- requestBuilder.set(CaptureRequest.CONTROL_AF_MODE, (int)mode);
+ requestBuilder.set(CaptureRequest.CONTROL_AF_MODE, mode);
listener = new SimpleCaptureListener();
mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
// Verify AF mode in capture result.
- verifyCaptureResultForKey(CaptureResult.CONTROL_AF_MODE, (int)mode, listener,
+ verifyCaptureResultForKey(CaptureResult.CONTROL_AF_MODE, mode, listener,
NUM_FRAMES_VERIFIED);
// Verify AF can finish a scan for CONTROL_AF_MODE_CONTINUOUS_* modes
@@ -1477,17 +1480,17 @@
*/
private void stabilizationTestByCamera() throws Exception {
// video stabilization test.
- byte[] videoStabModes = mStaticInfo.getAvailableVideoStabilizationModesChecked();
- byte[] opticalStabModes = mStaticInfo.getAvailableOpticalStabilizationChecked();
+ int[] videoStabModes = mStaticInfo.getAvailableVideoStabilizationModesChecked();
+ int[] opticalStabModes = mStaticInfo.getAvailableOpticalStabilizationChecked();
Size maxPreviewSize = mOrderedPreviewSizes.get(0);
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
SimpleCaptureListener listener = new SimpleCaptureListener();
startPreview(requestBuilder, maxPreviewSize, listener);
- for ( byte mode : videoStabModes) {
+ for (int mode : videoStabModes) {
listener = new SimpleCaptureListener();
- requestBuilder.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE, (int) mode);
+ requestBuilder.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE, mode);
mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
// TODO: enable below code when b/14059883 is fixed.
/*
@@ -1572,7 +1575,7 @@
}
private void sceneModeTestByCamera() throws Exception {
- byte[] sceneModes = mStaticInfo.getAvailableSceneModesChecked();
+ int[] sceneModes = mStaticInfo.getAvailableSceneModesChecked();
Size maxPreviewSize = mOrderedPreviewSizes.get(0);
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
@@ -1580,8 +1583,8 @@
requestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_USE_SCENE_MODE);
startPreview(requestBuilder, maxPreviewSize, listener);
- for(byte mode : sceneModes) {
- requestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, (int)mode);
+ for(int mode : sceneModes) {
+ requestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, mode);
listener = new SimpleCaptureListener();
mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
// Enable below check when b/14059883 is fixed.
@@ -1596,7 +1599,7 @@
}
private void effectModeTestByCamera() throws Exception {
- byte[] effectModes = mStaticInfo.getAvailableEffectModesChecked();
+ int[] effectModes = mStaticInfo.getAvailableEffectModesChecked();
Size maxPreviewSize = mOrderedPreviewSizes.get(0);
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
@@ -1604,8 +1607,8 @@
SimpleCaptureListener listener = new SimpleCaptureListener();
startPreview(requestBuilder, maxPreviewSize, listener);
- for(byte mode : effectModes) {
- requestBuilder.set(CaptureRequest.CONTROL_EFFECT_MODE, (int)mode);
+ for(int mode : effectModes) {
+ requestBuilder.set(CaptureRequest.CONTROL_EFFECT_MODE, mode);
listener = new SimpleCaptureListener();
mCamera.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
// Enable below check when b/14059883 is fixed.
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
index a66debe..6441d25 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
@@ -111,7 +111,7 @@
requestBuilder.addTarget(mReaderSurface);
// Enable face detection if supported
- byte[] faceModes = mStaticInfo.getAvailableFaceDetectModesChecked();
+ int[] faceModes = mStaticInfo.getAvailableFaceDetectModesChecked();
for (int i = 0; i < faceModes.length; i++) {
if (faceModes[i] == CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL) {
if (VERBOSE) {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java
index a681f66..40763d0 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java
@@ -310,12 +310,12 @@
*
* @return The array contains available anti-banding modes.
*/
- public byte[] getAeAvailableAntiBandingModesChecked() {
- Key<byte[]> key = CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
- byte[] modes = getValueFromKeyNonNull(key);
+ public int[] getAeAvailableAntiBandingModesChecked() {
+ Key<int[]> key = CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
+ int[] modes = getValueFromKeyNonNull(key);
boolean foundAuto = false;
- for (byte mode : modes) {
+ for (int mode : modes) {
checkTrueForKey(key, "mode value " + mode + " is out if range",
mode >= CameraMetadata.CONTROL_AE_ANTIBANDING_MODE_OFF ||
mode <= CameraMetadata.CONTROL_AE_ANTIBANDING_MODE_AUTO);
@@ -336,10 +336,10 @@
* @return true if antibanding OFF mode is supported, false otherwise.
*/
public boolean isAntiBandingOffModeSupported() {
- List<Byte> antiBandingModes =
+ List<Integer> antiBandingModes =
Arrays.asList(CameraTestUtils.toObject(getAeAvailableAntiBandingModesChecked()));
- return antiBandingModes.contains((byte)CameraMetadata.CONTROL_AE_ANTIBANDING_MODE_OFF);
+ return antiBandingModes.contains(CameraMetadata.CONTROL_AE_ANTIBANDING_MODE_OFF);
}
public Boolean getFlashInfoChecked() {
@@ -446,20 +446,20 @@
*
* @return The non-null array of available face detection modes
*/
- public byte[] getAvailableFaceDetectModesChecked() {
- Key<byte[]> key = CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES;
- byte[] modes = getValueFromKeyNonNull(key);
+ public int[] getAvailableFaceDetectModesChecked() {
+ Key<int[]> key = CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES;
+ int[] modes = getValueFromKeyNonNull(key);
if (modes == null) {
- return new byte[0];
+ return new int[0];
}
- List<Byte> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
+ List<Integer> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
checkTrueForKey(key, "Array should contain OFF mode",
- modeList.contains((byte)CameraMetadata.STATISTICS_FACE_DETECT_MODE_OFF));
+ modeList.contains(CameraMetadata.STATISTICS_FACE_DETECT_MODE_OFF));
checkElementDistinct(key, modeList);
- checkArrayValuesInRange(key, modes, (byte)CameraMetadata.STATISTICS_FACE_DETECT_MODE_OFF,
- (byte)CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL);
+ checkArrayValuesInRange(key, modes, CameraMetadata.STATISTICS_FACE_DETECT_MODE_OFF,
+ CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL);
return modes;
}
@@ -477,9 +477,9 @@
return 0;
}
- List<Byte> faceDetectModes =
+ List<Integer> faceDetectModes =
Arrays.asList(CameraTestUtils.toObject(getAvailableFaceDetectModesChecked()));
- if (faceDetectModes.contains((byte)CameraMetadata.STATISTICS_FACE_DETECT_MODE_OFF) &&
+ if (faceDetectModes.contains(CameraMetadata.STATISTICS_FACE_DETECT_MODE_OFF) &&
faceDetectModes.size() == 1) {
checkTrueForKey(key, " value must be 0 if only OFF mode is supported in "
+ "availableFaceDetectionModes", count == 0);
@@ -498,26 +498,26 @@
*
* @return the availalbe tone map modes
*/
- public byte[] getAvailableToneMapModesChecked() {
- Key<byte[]> key = CameraCharacteristics.TONEMAP_AVAILABLE_TONE_MAP_MODES;
- byte[] modes = getValueFromKeyNonNull(key);
+ public int[] getAvailableToneMapModesChecked() {
+ Key<int[]> key = CameraCharacteristics.TONEMAP_AVAILABLE_TONE_MAP_MODES;
+ int[] modes = getValueFromKeyNonNull(key);
if (modes == null) {
- return new byte[0];
+ return new int[0];
}
- List<Byte> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
+ List<Integer> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
checkTrueForKey(key, " Camera devices must always support FAST mode",
- modeList.contains((byte)CameraMetadata.TONEMAP_MODE_FAST));
+ modeList.contains(CameraMetadata.TONEMAP_MODE_FAST));
if (isHardwareLevelFull()) {
checkTrueForKey(key, "Full-capability camera devices must support"
+ "CONTRAST_CURVE mode",
- modeList.contains((byte)CameraMetadata.TONEMAP_MODE_CONTRAST_CURVE) &&
- modeList.contains((byte)CameraMetadata.TONEMAP_MODE_FAST));
+ modeList.contains(CameraMetadata.TONEMAP_MODE_CONTRAST_CURVE) &&
+ modeList.contains(CameraMetadata.TONEMAP_MODE_FAST));
}
checkElementDistinct(key, modeList);
- checkArrayValuesInRange(key, modes, (byte)CameraMetadata.TONEMAP_MODE_CONTRAST_CURVE,
- (byte)CameraMetadata.TONEMAP_MODE_HIGH_QUALITY);
+ checkArrayValuesInRange(key, modes, CameraMetadata.TONEMAP_MODE_CONTRAST_CURVE,
+ CameraMetadata.TONEMAP_MODE_HIGH_QUALITY);
return modes;
}
@@ -535,9 +535,9 @@
return 0;
}
- List<Byte> modeList =
+ List<Integer> modeList =
Arrays.asList(CameraTestUtils.toObject(getAvailableToneMapModesChecked()));
- if (modeList.contains((byte)CameraMetadata.TONEMAP_MODE_CONTRAST_CURVE)) {
+ if (modeList.contains(CameraMetadata.TONEMAP_MODE_CONTRAST_CURVE)) {
checkTrueForKey(key, "Full-capability camera device must support maxCurvePoints "
+ ">= " + TONEMAP_MAX_CURVE_POINTS_AT_LEAST,
count >= TONEMAP_MAX_CURVE_POINTS_AT_LEAST);
@@ -797,14 +797,14 @@
* have to abort the execution even the aeMode list is invalid.</p>
* @return AE available modes
*/
- public byte[] getAeAvailableModesChecked() {
- Key<byte[]> modesKey = CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES;
- byte[] modes = getValueFromKeyNonNull(modesKey);
+ public int[] getAeAvailableModesChecked() {
+ Key<int[]> modesKey = CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES;
+ int[] modes = getValueFromKeyNonNull(modesKey);
if (modes == null) {
- modes = new byte[0];
+ modes = new int[0];
}
List<Integer> modeList = new ArrayList<Integer>();
- for (byte mode : modes) {
+ for (int mode : modes) {
modeList.add((int)(mode));
}
checkTrueForKey(modesKey, "value is empty", !modeList.isEmpty());
@@ -843,7 +843,7 @@
checkTrueForKey(modesKey, "Full capability device must have OFF mode", condition);
// Boundary check.
- for (byte mode : modes) {
+ for (int mode : modes) {
checkTrueForKey(modesKey, "Value " + mode + " is out of bound",
mode >= CameraMetadata.CONTROL_AE_MODE_OFF
&& mode <= CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE);
@@ -858,21 +858,21 @@
* @return array that contains available AWB modes, empty array if awbAvailableModes is
* unavailable.
*/
- public byte[] getAwbAvailableModesChecked() {
- Key<byte[]> key =
+ public int[] getAwbAvailableModesChecked() {
+ Key<int[]> key =
CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES;
- byte[] awbModes = getValueFromKeyNonNull(key);
+ int[] awbModes = getValueFromKeyNonNull(key);
if (awbModes == null) {
- return new byte[0];
+ return new int[0];
}
- List<Byte> modesList = Arrays.asList(CameraTestUtils.toObject(awbModes));
+ List<Integer> modesList = Arrays.asList(CameraTestUtils.toObject(awbModes));
checkTrueForKey(key, " All camera devices must support AUTO mode",
- modesList.contains((byte)CameraMetadata.CONTROL_AWB_MODE_AUTO));
+ modesList.contains(CameraMetadata.CONTROL_AWB_MODE_AUTO));
if (isHardwareLevelFull()) {
checkTrueForKey(key, " Full capability camera devices must support OFF mode",
- modesList.contains((byte)CameraMetadata.CONTROL_AWB_MODE_OFF));
+ modesList.contains(CameraMetadata.CONTROL_AWB_MODE_OFF));
}
return awbModes;
@@ -884,21 +884,21 @@
* @return array that contains available AF modes, empty array if afAvailableModes is
* unavailable.
*/
- public byte[] getAfAvailableModesChecked() {
- Key<byte[]> key =
+ public int[] getAfAvailableModesChecked() {
+ Key<int[]> key =
CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES;
- byte[] afModes = getValueFromKeyNonNull(key);
+ int[] afModes = getValueFromKeyNonNull(key);
if (afModes == null) {
- return new byte[0];
+ return new int[0];
}
- List<Byte> modesList = Arrays.asList(CameraTestUtils.toObject(afModes));
+ List<Integer> modesList = Arrays.asList(CameraTestUtils.toObject(afModes));
checkTrueForKey(key, " All camera devices must support OFF mode",
- modesList.contains((byte)CameraMetadata.CONTROL_AF_MODE_OFF));
+ modesList.contains(CameraMetadata.CONTROL_AF_MODE_OFF));
if (hasFocuser()) {
checkTrueForKey(key, " Camera devices that have focuser units must support AUTO mode",
- modesList.contains((byte)CameraMetadata.CONTROL_AF_MODE_AUTO));
+ modesList.contains(CameraMetadata.CONTROL_AF_MODE_AUTO));
}
return afModes;
@@ -1061,40 +1061,40 @@
return minDurationMap;
}
- public byte[] getAvailableEdgeModesChecked() {
- Key<byte[]> key = CameraCharacteristics.EDGE_AVAILABLE_EDGE_MODES;
- byte[] edgeModes = getValueFromKeyNonNull(key);
+ public int[] getAvailableEdgeModesChecked() {
+ Key<int[]> key = CameraCharacteristics.EDGE_AVAILABLE_EDGE_MODES;
+ int[] edgeModes = getValueFromKeyNonNull(key);
if (edgeModes == null) {
- return new byte[0];
+ return new int[0];
}
// Full device should always include OFF and FAST
if (isHardwareLevelFull()) {
- List<Byte> modeList = Arrays.asList(CameraTestUtils.toObject(edgeModes));
+ List<Integer> modeList = Arrays.asList(CameraTestUtils.toObject(edgeModes));
checkTrueForKey(key, "Full device must contain OFF and FAST edge modes",
- modeList.contains((byte)CameraMetadata.EDGE_MODE_OFF) &&
- modeList.contains((byte)CameraMetadata.EDGE_MODE_FAST));
+ modeList.contains(CameraMetadata.EDGE_MODE_OFF) &&
+ modeList.contains(CameraMetadata.EDGE_MODE_FAST));
}
return edgeModes;
}
- public byte[] getAvailableNoiseReductionModesChecked() {
- Key<byte[]> key =
+ public int[] getAvailableNoiseReductionModesChecked() {
+ Key<int[]> key =
CameraCharacteristics.NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES;
- byte[] noiseReductionModes = getValueFromKeyNonNull(key);
+ int[] noiseReductionModes = getValueFromKeyNonNull(key);
if (noiseReductionModes == null) {
- return new byte[0];
+ return new int[0];
}
// Full device should always include OFF and FAST
if (isHardwareLevelFull()) {
- List<Byte> modeList = Arrays.asList(CameraTestUtils.toObject(noiseReductionModes));
+ List<Integer> modeList = Arrays.asList(CameraTestUtils.toObject(noiseReductionModes));
checkTrueForKey(key, "Full device must contain OFF and FAST noise reduction modes",
- modeList.contains((byte)CameraMetadata.NOISE_REDUCTION_MODE_OFF) &&
- modeList.contains((byte)CameraMetadata.NOISE_REDUCTION_MODE_FAST));
+ modeList.contains(CameraMetadata.NOISE_REDUCTION_MODE_OFF) &&
+ modeList.contains(CameraMetadata.NOISE_REDUCTION_MODE_FAST));
}
return noiseReductionModes;
@@ -1148,21 +1148,21 @@
*
* @return available video stabilization modes, empty array if it is unavailable.
*/
- public byte[] getAvailableVideoStabilizationModesChecked() {
- Key<byte[]> key =
+ public int[] getAvailableVideoStabilizationModesChecked() {
+ Key<int[]> key =
CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES;
- byte[] modes = getValueFromKeyNonNull(key);
+ int[] modes = getValueFromKeyNonNull(key);
if (modes == null) {
- return new byte[0];
+ return new int[0];
}
- List<Byte> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
+ List<Integer> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
checkTrueForKey(key, " All device should support OFF mode",
- modeList.contains((byte)CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_OFF));
+ modeList.contains(CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_OFF));
checkArrayValuesInRange(key, modes,
- (byte)CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_OFF,
- (byte)CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_ON);
+ CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_OFF,
+ CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_ON);
return modes;
}
@@ -1172,18 +1172,18 @@
*
* @return available optical stabilization modes, empty array if it is unavailable.
*/
- public byte[] getAvailableOpticalStabilizationChecked() {
- Key<byte[]> key =
+ public int[] getAvailableOpticalStabilizationChecked() {
+ Key<int[]> key =
CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION;
- byte[] modes = getValueFromKeyNonNull(key);
+ int[] modes = getValueFromKeyNonNull(key);
if (modes == null) {
- return new byte[0];
+ return new int[0];
}
checkArrayValuesInRange(key, modes,
- (byte)CameraMetadata.LENS_OPTICAL_STABILIZATION_MODE_OFF,
- (byte)CameraMetadata.LENS_OPTICAL_STABILIZATION_MODE_ON);
+ CameraMetadata.LENS_OPTICAL_STABILIZATION_MODE_OFF,
+ CameraMetadata.LENS_OPTICAL_STABILIZATION_MODE_ON);
return modes;
}
@@ -1207,38 +1207,38 @@
return maxZoom;
}
- public byte[] getAvailableSceneModesChecked() {
- Key<byte[]> key =
+ public int[] getAvailableSceneModesChecked() {
+ Key<int[]> key =
CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES;
- byte[] modes = getValueFromKeyNonNull(key);
+ int[] modes = getValueFromKeyNonNull(key);
if (modes == null) {
- return new byte[0];
+ return new int[0];
}
- List<Byte> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
+ List<Integer> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
// FACE_PRIORITY must be included if face detection is supported.
if (getMaxFaceCountChecked() > 0) {
checkTrueForKey(key, " FACE_PRIORITY must be included if face detection is supported",
- modeList.contains((byte)CameraMetadata.CONTROL_SCENE_MODE_FACE_PRIORITY));
+ modeList.contains(CameraMetadata.CONTROL_SCENE_MODE_FACE_PRIORITY));
}
return modes;
}
- public byte[] getAvailableEffectModesChecked() {
- Key<byte[]> key =
+ public int[] getAvailableEffectModesChecked() {
+ Key<int[]> key =
CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS;
- byte[] modes = getValueFromKeyNonNull(key);
+ int[] modes = getValueFromKeyNonNull(key);
if (modes == null) {
- return new byte[0];
+ return new int[0];
}
- List<Byte> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
+ List<Integer> modeList = Arrays.asList(CameraTestUtils.toObject(modes));
// OFF must be included.
checkTrueForKey(key, " OFF must be included",
- modeList.contains((byte)CameraMetadata.CONTROL_EFFECT_MODE_OFF));
+ modeList.contains(CameraMetadata.CONTROL_EFFECT_MODE_OFF));
return modes;
}