If camera fails to support its supported and chosen preview mode, use its actual setting
git-svn-id: https://zxing.googlecode.com/svn/trunk@2863 59b500cc-1b3d-0410-9834-0bbf25fbcc57
diff --git a/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java b/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java
index 42dbb8c..7bbb627 100644
--- a/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java
+++ b/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java
@@ -131,6 +131,15 @@
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
camera.setParameters(parameters);
+
+ Camera.Parameters afterParameters = camera.getParameters();
+ Camera.Size afterSize = afterParameters.getPreviewSize();
+ if (afterSize!= null && (cameraResolution.x != afterSize.width || cameraResolution.y != afterSize.height)) {
+ Log.w(TAG, "Camera said it supported preview size " + cameraResolution.x + 'x' + cameraResolution.y +
+ ", but after setting it, preview size is " + afterSize.width + 'x' + afterSize.height);
+ cameraResolution.x = afterSize.width;
+ cameraResolution.y = afterSize.height;
+ }
}
Point getCameraResolution() {