diff options
author | Sol Boucher <solb@google.com> | 2014-08-19 17:23:49 -0700 |
---|---|---|
committer | Sol Boucher <solb@google.com> | 2014-08-21 16:09:18 -0700 |
commit | 9d8668449376fa47bc6528c7a61b04d6a0f691b3 (patch) | |
tree | d5c4439ca0d38a6c80c37d86f1a3a0e9c341cce1 /camera2/portability/tests/src | |
parent | 489e29ecbfd2ffe10ebd199204f3ee242b1bd1f8 (diff) | |
download | android_frameworks_ex-9d8668449376fa47bc6528c7a61b04d6a0f691b3.tar.gz android_frameworks_ex-9d8668449376fa47bc6528c7a61b04d6a0f691b3.tar.bz2 android_frameworks_ex-9d8668449376fa47bc6528c7a61b04d6a0f691b3.zip |
camera2-portability: Switch to ratio-based zoom interfaces
This eliminates the deprecated index-based CameraSettings zoom methods in favor
of floating-point ratio based versions, and includes the plumbing to make those
work for both the camera1 and camera2 underlying framework APIs.
Bug: 17016658
Change-Id: I0567a53cd57bfa6d53604e3c5457a39ef49e3cb4
Diffstat (limited to 'camera2/portability/tests/src')
-rw-r--r-- | camera2/portability/tests/src/com/android/ex/camera2/portability/Camera2PortabilityTest.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/camera2/portability/tests/src/com/android/ex/camera2/portability/Camera2PortabilityTest.java b/camera2/portability/tests/src/com/android/ex/camera2/portability/Camera2PortabilityTest.java index 034fac7..1f340fd 100644 --- a/camera2/portability/tests/src/com/android/ex/camera2/portability/Camera2PortabilityTest.java +++ b/camera2/portability/tests/src/com/android/ex/camera2/portability/Camera2PortabilityTest.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import android.content.Context; +import android.graphics.Rect; import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CameraDevice; @@ -40,6 +41,11 @@ import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; public class Camera2PortabilityTest extends Camera2DeviceTester { + /** + * Ensure that applying {@code Stringifier#.*FromString()} reverses + * {@link Stringifier#stringify} for {@link FocusMode}, {@link FlashMode}, + * {@link SceneMode}, and {@link WhiteBalance}. + */ @Test public void cameraCapabilitiesStringifier() { Stringifier strfy = new Stringifier(); @@ -57,6 +63,11 @@ public class Camera2PortabilityTest extends Camera2DeviceTester { } } + /** + * Ensure that {@code Stringifier#.*FromString()} default to the correct + * {@link FocusMode}, {@link FlashMode}, {@link SceneMode}, and + * {@link WhiteBalance} when given a {@code null}. + */ @Test public void cameraCapabilitiesStringifierNull() { Stringifier strfy = new Stringifier(); @@ -66,6 +77,11 @@ public class Camera2PortabilityTest extends Camera2DeviceTester { assertEquals(strfy.whiteBalanceFromString(null), WhiteBalance.AUTO); } + /** + * Ensure that {@code Stringifier#.*FromString()} default to the correct + * {@link FocusMode}, {@link FlashMode}, {@link SceneMode}, and + * {@link WhiteBalance} when given an unrecognized string. + */ @Test public void cameraCapabilitiesStringifierInvalid() { Stringifier strfy = new Stringifier(); @@ -86,10 +102,19 @@ public class Camera2PortabilityTest extends Camera2DeviceTester { assertEquals(apiVal, setts.getRequestSettings().get(apiKey)); } + /** + * Ensure that {@link AndroidCamera2Settings} correctly translates its + * {@code FocusMode}, {@code SceneMode}, and {@code WhiteBalance} to the + * corresponding framework API 2 representations. + */ @Test public void camera2SettingsSetOptionsAndGetRequestSettings() throws CameraAccessException { + // We're only testing the focus modes, scene modes and white balances, + // and won't use the activeArray, previewSize, or photoSize. The + // constructor requires the former, so pass a degenerate rectangle. AndroidCamera2Settings set = new AndroidCamera2Settings( - mCamera, CameraDevice.TEMPLATE_PREVIEW, null, null, null); + mCamera, CameraDevice.TEMPLATE_PREVIEW, /*activeArray*/new Rect(), + /*previewSize*/null, /*photoSize*/null); // Focus modes set.setFocusMode(FocusMode.AUTO); @@ -158,6 +183,11 @@ public class Camera2PortabilityTest extends Camera2DeviceTester { // TODO: Add a test checking whether stringification matches API 1 representation + /** + * Ensure that {@code AndroidCamera2Capabilities#.*FromInt} correctly + * translates from framework API 2 representations to the equivalent + * {@code FocusMode}s, {@code SceneMode}s, and {@code WhiteBalance}s. + */ @Test public void camera2CapabilitiesFocusModeFromInt() throws CameraAccessException { CameraCharacteristics chars = buildFrameworkCharacteristics(); |