am a6e6d53b: camera2: Update cts to use Range<Integer> for some keys
* commit 'a6e6d53b82e90de1ff7a5f0849c52f65702816f3':
camera2: Update cts to use Range<Integer> for some keys
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java
index ac5c889..a3ef51c 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraCharacteristicsTest.java
@@ -287,7 +287,7 @@
}
}
- public void testCameraCharacteristicsAndroidControlMaxRegions() throws Exception {
+ public void testCameraCharacteristicsAndroidControlMaxRegionsAe() throws Exception {
String[] ids = mCameraManager.getCameraIdList();
for (int i = 0; i < ids.length; i++) {
CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
@@ -296,14 +296,60 @@
{
- assertNotNull("Invalid property: android.control.maxRegions",
- props.get(CameraCharacteristics.CONTROL_MAX_REGIONS));
+ assertNotNull("Invalid property: android.control.maxRegionsAe",
+ props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AE));
List<Key<?>> allKeys = props.getKeys();
assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
ids[i], props));
- assertTrue("Key not in keys list: android.control.maxRegions", allKeys.contains(
- CameraCharacteristics.CONTROL_MAX_REGIONS));
+ assertTrue("Key not in keys list: android.control.maxRegionsAe", allKeys.contains(
+ CameraCharacteristics.CONTROL_MAX_REGIONS_AE));
+
+ }
+
+ }
+ }
+
+ public void testCameraCharacteristicsAndroidControlMaxRegionsAwb() throws Exception {
+ String[] ids = mCameraManager.getCameraIdList();
+ for (int i = 0; i < ids.length; i++) {
+ CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
+ assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
+ props);
+
+ {
+
+ assertNotNull("Invalid property: android.control.maxRegionsAwb",
+ props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AWB));
+
+ List<Key<?>> allKeys = props.getKeys();
+ assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+ ids[i], props));
+ assertTrue("Key not in keys list: android.control.maxRegionsAwb", allKeys.contains(
+ CameraCharacteristics.CONTROL_MAX_REGIONS_AWB));
+
+ }
+
+ }
+ }
+
+ public void testCameraCharacteristicsAndroidControlMaxRegionsAf() throws Exception {
+ String[] ids = mCameraManager.getCameraIdList();
+ for (int i = 0; i < ids.length; i++) {
+ CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
+ assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
+ props);
+
+ {
+
+ assertNotNull("Invalid property: android.control.maxRegionsAf",
+ props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF));
+
+ List<Key<?>> allKeys = props.getKeys();
+ assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+ ids[i], props));
+ assertTrue("Key not in keys list: android.control.maxRegionsAf", allKeys.contains(
+ CameraCharacteristics.CONTROL_MAX_REGIONS_AF));
}
@@ -636,7 +682,7 @@
}
}
- public void testCameraCharacteristicsAndroidRequestMaxNumOutputStreams() throws Exception {
+ public void testCameraCharacteristicsAndroidRequestMaxNumOutputRaw() throws Exception {
String[] ids = mCameraManager.getCameraIdList();
for (int i = 0; i < ids.length; i++) {
CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
@@ -645,14 +691,60 @@
{
- assertNotNull("Invalid property: android.request.maxNumOutputStreams",
- props.get(CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_STREAMS));
+ assertNotNull("Invalid property: android.request.maxNumOutputRaw",
+ props.get(CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_RAW));
List<Key<?>> allKeys = props.getKeys();
assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
ids[i], props));
- assertTrue("Key not in keys list: android.request.maxNumOutputStreams", allKeys.contains(
- CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_STREAMS));
+ assertTrue("Key not in keys list: android.request.maxNumOutputRaw", allKeys.contains(
+ CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_RAW));
+
+ }
+
+ }
+ }
+
+ public void testCameraCharacteristicsAndroidRequestMaxNumOutputProc() throws Exception {
+ String[] ids = mCameraManager.getCameraIdList();
+ for (int i = 0; i < ids.length; i++) {
+ CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
+ assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
+ props);
+
+ {
+
+ assertNotNull("Invalid property: android.request.maxNumOutputProc",
+ props.get(CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC));
+
+ List<Key<?>> allKeys = props.getKeys();
+ assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+ ids[i], props));
+ assertTrue("Key not in keys list: android.request.maxNumOutputProc", allKeys.contains(
+ CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC));
+
+ }
+
+ }
+ }
+
+ public void testCameraCharacteristicsAndroidRequestMaxNumOutputProcStalling() throws Exception {
+ String[] ids = mCameraManager.getCameraIdList();
+ for (int i = 0; i < ids.length; i++) {
+ CameraCharacteristics props = mCameraManager.getCameraCharacteristics(ids[i]);
+ assertNotNull(String.format("Can't get camera characteristics from: ID %s", ids[i]),
+ props);
+
+ {
+
+ assertNotNull("Invalid property: android.request.maxNumOutputProcStalling",
+ props.get(CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC_STALLING));
+
+ List<Key<?>> allKeys = props.getKeys();
+ assertNotNull(String.format("Can't get camera characteristics keys from: ID %s",
+ ids[i], props));
+ assertTrue("Key not in keys list: android.request.maxNumOutputProcStalling", allKeys.contains(
+ CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC_STALLING));
}
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 d7cacd3..0c8841a 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
@@ -32,6 +32,7 @@
import android.hardware.camera2.cts.testcases.Camera2AndroidTestCase;
import android.os.SystemClock;
import android.util.Log;
+import android.util.Range;
import android.view.Surface;
import com.android.ex.camera2.blocking.BlockingStateListener;
@@ -639,30 +640,20 @@
private void checkFpsRange(CaptureRequest.Builder request, int template,
CameraCharacteristics props) {
- CaptureRequest.Key<int[]> fpsRangeKey = CONTROL_AE_TARGET_FPS_RANGE;
- int[] fpsRange;
+ CaptureRequest.Key<Range<Integer>> fpsRangeKey = CONTROL_AE_TARGET_FPS_RANGE;
+ Range<Integer> fpsRange;
if ((fpsRange = mCollector.expectKeyValueNotNull(request, fpsRangeKey)) == null) {
return;
}
- // TODO: Use generated array dimensions
- final int CONTROL_AE_TARGET_FPS_RANGE_SIZE = 2;
- final int CONTROL_AE_TARGET_FPS_RANGE_MIN = 0;
- final int CONTROL_AE_TARGET_FPS_RANGE_MAX = 1;
-
- String cause = "Failed with fps range size check";
- if (!mCollector.expectEquals(cause, CONTROL_AE_TARGET_FPS_RANGE_SIZE, fpsRange.length)) {
- return;
- }
-
- int minFps = fpsRange[CONTROL_AE_TARGET_FPS_RANGE_MIN];
- int maxFps = fpsRange[CONTROL_AE_TARGET_FPS_RANGE_MAX];
- int[] availableFpsRange = props
+ int minFps = fpsRange.getLower();
+ int maxFps = fpsRange.getUpper();
+ Range<Integer>[] availableFpsRange = props
.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES);
boolean foundRange = false;
- for (int i = 0; i < availableFpsRange.length; i += CONTROL_AE_TARGET_FPS_RANGE_SIZE) {
- if (minFps == availableFpsRange[i + CONTROL_AE_TARGET_FPS_RANGE_MIN]
- && maxFps == availableFpsRange[i + CONTROL_AE_TARGET_FPS_RANGE_MAX]) {
+ for (int i = 0; i < availableFpsRange.length; i += 1) {
+ if (minFps == availableFpsRange[i].getLower()
+ && maxFps == availableFpsRange[i].getUpper()) {
foundRange = true;
break;
}
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 6ff9182..baa60dc 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
@@ -32,6 +32,7 @@
import android.hardware.camera2.params.Face;
import android.hardware.camera2.params.MeteringRectangle;
import android.util.Log;
+import android.util.Range;
import android.util.Rational;
import android.util.Size;
@@ -1816,26 +1817,24 @@
*/
private void verifyFpsNotSlowDown(CaptureRequest.Builder requestBuilder,
int numFramesVerified) throws Exception {
- int[] fpsRanges = mStaticInfo.getAeAvailableTargetFpsRangesChecked();
+ Range<Integer>[] fpsRanges = mStaticInfo.getAeAvailableTargetFpsRangesChecked();
boolean antiBandingOffIsSupported = mStaticInfo.isAntiBandingOffModeSupported();
- final int FPS_RANGE_SIZE = 2;
- int[] fpsRange = new int[FPS_RANGE_SIZE];
+ Range<Integer> fpsRange;
SimpleCaptureListener resultListener;
- for (int i = 0; i < fpsRanges.length; i += FPS_RANGE_SIZE) {
- fpsRange[0] = fpsRanges[i];
- fpsRange[1] = fpsRanges[i + 1];
+ for (int i = 0; i < fpsRanges.length; i += 1) {
+ fpsRange = fpsRanges[i];
Size previewSz = getMaxPreviewSizeForFpsRange(fpsRange);
// If unable to find a preview size, then log the failure, and skip this run.
if (!mCollector.expectTrue(String.format(
- "Unable to find a preview size supporting given fps range [%d, %d]",
- fpsRange[0], fpsRange[1]), previewSz != null)) {
+ "Unable to find a preview size supporting given fps range %s",
+ fpsRange), previewSz != null)) {
continue;
}
if (VERBOSE) {
- Log.v(TAG, String.format("Test fps range [%d, %d] for preview size %s",
- fpsRange[0], fpsRange[1], previewSz.toString()));
+ Log.v(TAG, String.format("Test fps range %s for preview size %s",
+ fpsRange, previewSz.toString()));
}
requestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, fpsRange);
// Turn off auto antibanding to avoid exposure time and frame duration interference
@@ -1854,7 +1853,7 @@
resultListener = new SimpleCaptureListener();
startPreview(requestBuilder, previewSz, resultListener);
long[] frameDurationRange =
- new long[]{(long) (1e9 / fpsRange[1]), (long) (1e9 / fpsRange[0])};
+ new long[]{(long) (1e9 / fpsRange.getUpper()), (long) (1e9 / fpsRange.getLower())};
for (int j = 0; j < numFramesVerified; j++) {
CaptureResult result =
resultListener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
index ab9cddc..43031da 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
@@ -32,6 +32,7 @@
import android.os.SystemClock;
import android.test.suitebuilder.annotation.LargeTest;
import android.util.Log;
+import android.util.Range;
import android.view.SurfaceHolder;
import android.view.Surface;
@@ -327,7 +328,7 @@
CaptureRequest.Builder recordingRequestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_RECORD);
// Make sure camera output frame rate is set to correct value.
- int[] fpsRange = {VIDEO_FRAME_RATE, VIDEO_FRAME_RATE};
+ Range<Integer> fpsRange = Range.create(VIDEO_FRAME_RATE, VIDEO_FRAME_RATE);
recordingRequestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, fpsRange);
recordingRequestBuilder.addTarget(mRecordingSurface);
recordingRequestBuilder.addTarget(mPreviewSurface);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
index 6a5ae9a..7a618bc 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
@@ -34,6 +34,7 @@
import android.os.Build;
import android.os.ConditionVariable;
import android.util.Log;
+import android.util.Range;
import android.util.Rational;
import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
@@ -965,10 +966,10 @@
}
private void aeCompensationTestByCamera() throws Exception {
- int[] compensationRange = mStaticInfo.getAeCompensationRangeChecked();
+ Range<Integer> compensationRange = mStaticInfo.getAeCompensationRangeChecked();
Rational step = mStaticInfo.getAeCompensationStepChecked();
int stepsPerEv = (int) Math.round(1.0 / step.toFloat());
- int numSteps = (compensationRange[1] - compensationRange[0]) / stepsPerEv;
+ int numSteps = (compensationRange.getUpper() - compensationRange.getLower()) / stepsPerEv;
Size maxStillSz = mOrderedStillSizes.get(0);
Size maxPreviewSz = mOrderedPreviewSizes.get(0);
@@ -997,7 +998,7 @@
maxStillSz, resultListener, numSteps, imageListener);
for (int i = 0; i <= numSteps; i++) {
- int exposureCompensation = i * stepsPerEv + compensationRange[0];
+ int exposureCompensation = i * stepsPerEv + compensationRange.getLower();
// Wait for AE to be stabilized before capture: CONVERGED or FLASH_REQUIRED.
waitForAeStable(resultListener);
@@ -1076,10 +1077,8 @@
private long getMaxExposureValue(CaptureRequest.Builder request, long maxExposureTimeUs,
long maxSensitivity) throws Exception {
- int[] fpsRange = request.get(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE);
- mCollector.expectEquals("Length of CaptureResult FPS range must be 2",
- 2, fpsRange.length);
- long maxFrameDurationUs = Math.round(1000000.0 / fpsRange[0]);
+ Range<Integer> fpsRange = request.get(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE);
+ long maxFrameDurationUs = Math.round(1000000.0 / fpsRange.getLower());
long currentMaxExposureTimeUs = Math.min(maxFrameDurationUs, maxExposureTimeUs);
return currentMaxExposureTimeUs * maxSensitivity;
}
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
index d569fab..37b6357 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
@@ -28,6 +28,7 @@
import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureListener;
import android.hardware.camera2.cts.testcases.Camera2SurfaceViewTestCase;
import android.util.Log;
+import android.util.Range;
import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatcher;
@@ -122,17 +123,16 @@
private void previewFpsRangeTestByCamera() throws Exception {
final int FPS_RANGE_SIZE = 2;
Size maxPreviewSz = mOrderedPreviewSizes.get(0);
- int[] fpsRanges = mStaticInfo.getAeAvailableTargetFpsRangesChecked();
+ Range<Integer>[] fpsRanges = mStaticInfo.getAeAvailableTargetFpsRangesChecked();
boolean antiBandingOffIsSupported = mStaticInfo.isAntiBandingOffModeSupported();
- int[] fpsRange = new int[FPS_RANGE_SIZE];
+ Range<Integer> fpsRange;
CaptureRequest.Builder requestBuilder =
mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
SimpleCaptureListener resultListener = new SimpleCaptureListener();
startPreview(requestBuilder, maxPreviewSz, resultListener);
- for (int i = 0; i < fpsRanges.length; i += FPS_RANGE_SIZE) {
- fpsRange[0] = fpsRanges[i];
- fpsRange[1] = fpsRanges[i + 1];
+ for (int i = 0; i < fpsRanges.length; i += 1) {
+ fpsRange = fpsRanges[i];
requestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, fpsRange);
// Turn off auto antibanding to avoid exposure time and frame duration interference
@@ -159,11 +159,11 @@
}
private void verifyPreviewTargetFpsRange(SimpleCaptureListener resultListener,
- int numFramesVerified, int[] fpsRange, Size previewSz) {
+ int numFramesVerified, Range<Integer> fpsRange, Size previewSz) {
CaptureResult result = resultListener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
long frameDuration = getValueNotNull(result, CaptureResult.SENSOR_FRAME_DURATION);
long[] frameDurationRange =
- new long[]{(long) (1e9 / fpsRange[1]), (long) (1e9 / fpsRange[0])};
+ new long[]{(long) (1e9 / fpsRange.getUpper()), (long) (1e9 / fpsRange.getLower())};
mCollector.expectInRange(
"Frame duration must be in the range of " + Arrays.toString(frameDurationRange),
frameDuration, (long) (frameDurationRange[0] * (1 - FRAME_DURATION_ERROR_MARGIN)),
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 e99d64a..a681f66 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
@@ -25,6 +25,7 @@
import android.hardware.camera2.cts.CameraTestUtils;
import android.hardware.camera2.params.StreamConfigurationMap;
import android.util.Log;
+import android.util.Range;
import android.util.Rational;
import junit.framework.Assert;
@@ -984,27 +985,24 @@
*
* @return Empty int array if aeAvailableTargetFpsRanges is invalid.
*/
- public int[] getAeAvailableTargetFpsRangesChecked() {
- final int NUM_ELEMENTS_IN_FPS_RANGE = 2;
- Key<int[]> key =
+ @SuppressWarnings("raw")
+ public Range<Integer>[] getAeAvailableTargetFpsRangesChecked() {
+ Key<Range<Integer>[]> key =
CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
- int[] fpsRanges = getValueFromKeyNonNull(key);
+ Range<Integer>[] fpsRanges = getValueFromKeyNonNull(key);
if (fpsRanges == null) {
- return new int[0];
+ return new Range[0];
}
- checkTrueForKey(key, "array length is invalid", fpsRanges.length
- % NUM_ELEMENTS_IN_FPS_RANGE == 0);
// Round down to 2 boundary if it is not integer times of 2, to avoid array out of bound
// in case the above check fails.
- int fpsRangeLength = (fpsRanges.length / NUM_ELEMENTS_IN_FPS_RANGE)
- * NUM_ELEMENTS_IN_FPS_RANGE;
+ int fpsRangeLength = fpsRanges.length;
int minFps, maxFps;
long maxFrameDuration = getMaxFrameDurationChecked();
- for (int i = 0; i < fpsRangeLength; i += NUM_ELEMENTS_IN_FPS_RANGE) {
- minFps = fpsRanges[i];
- maxFps = fpsRanges[i + 1];
+ for (int i = 0; i < fpsRangeLength; i += 1) {
+ minFps = fpsRanges[i].getLower();
+ maxFps = fpsRanges[i].getUpper();
checkTrueForKey(key, " min fps must be no larger than max fps!",
minFps > 0 && maxFps >= minFps);
long maxDuration = (long) (1e9 / minFps);
@@ -1126,26 +1124,21 @@
*
* @return default value if the value is null or malformed.
*/
- public int[] getAeCompensationRangeChecked() {
- Key<int[]> key =
+ public Range<Integer> getAeCompensationRangeChecked() {
+ Key<Range<Integer>> key =
CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE;
- int[] compensationRange = getValueFromKeyNonNull(key);
+ Range<Integer> compensationRange = getValueFromKeyNonNull(key);
float compensationStep = getAeCompensationStepChecked().toFloat();
- final int[] DEFAULT_RANGE = new int[] {
+ final Range<Integer> DEFAULT_RANGE = Range.create(
(int)(CONTROL_AE_COMPENSATION_RANGE_DEFAULT_MIN / compensationStep),
- (int)(CONTROL_AE_COMPENSATION_RANGE_DEFAULT_MAX / compensationStep)};
+ (int)(CONTROL_AE_COMPENSATION_RANGE_DEFAULT_MAX / compensationStep));
if (compensationRange == null) {
return DEFAULT_RANGE;
}
- checkTrueForKey(key, " value must have 2 elements", compensationRange.length == 2);
- if (compensationRange.length != 2) {
- return DEFAULT_RANGE;
- }
-
- checkTrueForKey(key, " range value must be at least " + Arrays.toString(DEFAULT_RANGE),
- compensationRange[0] <= DEFAULT_RANGE[0] &&
- compensationRange[1] >= DEFAULT_RANGE[1]);
+ checkTrueForKey(key, " range value must be at least " + DEFAULT_RANGE,
+ compensationRange.getLower() <= DEFAULT_RANGE.getLower() &&
+ compensationRange.getUpper() >= DEFAULT_RANGE.getUpper());
return compensationRange;
}
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
index 7470f24..a169f7e 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
@@ -37,6 +37,7 @@
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.CaptureResult;
import android.util.Size;
+import android.util.Range;
import android.hardware.camera2.CameraDevice.CaptureListener;
import android.hardware.camera2.cts.Camera2SurfaceViewStubActivity;
import android.hardware.camera2.cts.CameraTestUtils;
@@ -523,8 +524,8 @@
* @param fpsRange The fps range the returned size must support.
* @return max size that support the given fps range.
*/
- protected Size getMaxPreviewSizeForFpsRange(int[] fpsRange) {
- if (fpsRange == null || fpsRange[0] <= 0 || fpsRange[1] <= 0) {
+ protected Size getMaxPreviewSizeForFpsRange(Range<Integer> fpsRange) {
+ if (fpsRange == null || fpsRange.getLower() <= 0 || fpsRange.getUpper() <= 0) {
throw new IllegalArgumentException("Invalid fps range argument");
}
if (mOrderedPreviewSizes == null || mMinPreviewFrameDurationMap == null) {
@@ -533,7 +534,7 @@
}
long[] frameDurationRange =
- new long[]{(long) (1e9 / fpsRange[1]), (long) (1e9 / fpsRange[0])};
+ new long[]{(long) (1e9 / fpsRange.getUpper()), (long) (1e9 / fpsRange.getLower())};
for (Size size : mOrderedPreviewSizes) {
long minDuration = mMinPreviewFrameDurationMap.get(size);
if (minDuration <= frameDurationRange[0]) {