package com.google.zxing.client.android.camera;
-import java.util.regex.Pattern;
-
import android.content.Context;
import android.graphics.Point;
import android.hardware.Camera;
+import android.os.Build;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;
+import java.util.regex.Pattern;
+
final class CameraConfigurationManager {
private static final String TAG = CameraConfigurationManager.class.getSimpleName();
Camera.Parameters parameters = camera.getParameters();
previewFormat = parameters.getPreviewFormat();
previewFormatString = parameters.get("preview-format");
- Log.v(TAG, "Default preview format: " + previewFormat + '/' + previewFormatString);
+ Log.d(TAG, "Default preview format: " + previewFormat + '/' + previewFormatString);
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
screenResolution = new Point(display.getWidth(), display.getHeight());
- Log.v(TAG, "Screen resolution: " + screenResolution);
+ Log.d(TAG, "Screen resolution: " + screenResolution);
cameraResolution = getCameraResolution(parameters, screenResolution);
- Log.v(TAG, "Camera resolution: " + screenResolution);
+ Log.d(TAG, "Camera resolution: " + screenResolution);
}
/**
*/
void setDesiredCameraParameters(Camera camera) {
Camera.Parameters parameters = camera.getParameters();
- Log.v(TAG, "Setting preview size: " + cameraResolution);
+ Log.d(TAG, "Setting preview size: " + cameraResolution);
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
setFlash(parameters);
setZoom(parameters);
Point cameraResolution = null;
if (previewSizeValueString != null) {
- Log.v(TAG, "preview-size-values parameter: " + previewSizeValueString);
+ Log.d(TAG, "preview-size-values parameter: " + previewSizeValueString);
cameraResolution = findBestPreviewSizeValue(previewSizeValueString, screenResolution);
}
return cameraResolution;
}
- private static Point findBestPreviewSizeValue(String previewSizeValueString, Point screenResolution) {
+ private static Point findBestPreviewSizeValue(CharSequence previewSizeValueString, Point screenResolution) {
int bestX = 0;
int bestY = 0;
int diff = Integer.MAX_VALUE;
private void setFlash(Camera.Parameters parameters) {
// FIXME: This is a hack to turn the flash off on the Samsung Galaxy.
- parameters.set("flash-value", 2);
+ // And this is a hack-hack to work around a different value on the Behold II
+ // Restrict Behold II check to Cupcake, per Samsung's advice
+ if (Build.MODEL.contains("Behold II") &&
+ CameraManager.SDK_INT == Build.VERSION_CODES.CUPCAKE) {
+ parameters.set("flash-value", 1);
+ } else {
+ parameters.set("flash-value", 2);
+ }
// This is the standard setting to turn the flash off that all devices should honor.
parameters.set("flash-mode", "off");
}