diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/engine/CameraIntegrationTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/engine/CameraIntegrationTest.java index 4a1aec1c..ef30d897 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/engine/CameraIntegrationTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/engine/CameraIntegrationTest.java @@ -28,6 +28,7 @@ import com.otaliastudios.cameraview.controls.WhiteBalance; import com.otaliastudios.cameraview.engine.orchestrator.CameraState; import com.otaliastudios.cameraview.frame.Frame; import com.otaliastudios.cameraview.frame.FrameProcessor; +import com.otaliastudios.cameraview.size.SizeSelectors; import com.otaliastudios.cameraview.tools.Op; import com.otaliastudios.cameraview.internal.utils.WorkerHandler; import com.otaliastudios.cameraview.overlay.Overlay; @@ -721,20 +722,25 @@ public abstract class CameraIntegrationTest extends Base @Test public void testCapturePicture_size() { + // Decoding can fail for large bitmaps. set a small size. + camera.setPictureSize(SizeSelectors.smallest()); openSync(true); Size size = camera.getPictureSize(); assertNotNull(size); camera.takePicture(); PictureResult result = waitForPictureResult(true); assertNotNull(result); - Bitmap bitmap = CameraUtils.decodeBitmap(result.getData(), Integer.MAX_VALUE, Integer.MAX_VALUE); - assertNotNull(bitmap); - assertEquals(result.getSize(), size); - assertEquals(bitmap.getWidth(), size.getWidth()); - assertEquals(bitmap.getHeight(), size.getHeight()); assertNotNull(result.getData()); assertNull(result.getLocation()); assertFalse(result.isSnapshot()); + assertEquals(result.getSize(), size); + Bitmap bitmap = CameraUtils.decodeBitmap(result.getData(), + Integer.MAX_VALUE, Integer.MAX_VALUE); + if (bitmap != null) { + assertNotNull(bitmap); + assertEquals(bitmap.getWidth(), size.getWidth()); + assertEquals(bitmap.getHeight(), size.getHeight()); + } } @Test(expected = RuntimeException.class) @@ -793,14 +799,17 @@ public abstract class CameraIntegrationTest extends Base PictureResult result = waitForPictureResult(true); assertNotNull(result); - Bitmap bitmap = CameraUtils.decodeBitmap(result.getData(), Integer.MAX_VALUE, Integer.MAX_VALUE); - assertNotNull(bitmap); - assertEquals(result.getSize(), size); - assertEquals(bitmap.getWidth(), size.getWidth()); - assertEquals(bitmap.getHeight(), size.getHeight()); assertNotNull(result.getData()); assertNull(result.getLocation()); assertTrue(result.isSnapshot()); + assertEquals(result.getSize(), size); + Bitmap bitmap = CameraUtils.decodeBitmap(result.getData(), + Integer.MAX_VALUE, Integer.MAX_VALUE); + if (bitmap != null) { + assertNotNull(bitmap); + assertEquals(bitmap.getWidth(), size.getWidth()); + assertEquals(bitmap.getHeight(), size.getHeight()); + } } @Test