X-Git-Url: http://git.rot13.org/?p=zxing.git;a=blobdiff_plain;f=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2Fcamera%2FCameraConfigurationManager.java;h=e06b01cd4000eeed278dc7762dcbeb80d0def0e0;hp=e04c352d8aec79386624e6c79fad78e79f28d1a8;hb=5ea18b9a884b7b20cd87c0e99999da702cac3bfb;hpb=ed70838051950f58934189f9ad0314208dd48894 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 e04c352d..e06b01cd 100644 --- a/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java +++ b/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java @@ -16,15 +16,16 @@ 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(); @@ -51,13 +52,13 @@ final class CameraConfigurationManager { 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); } /** @@ -68,7 +69,7 @@ final class CameraConfigurationManager { */ 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); @@ -103,7 +104,7 @@ final class CameraConfigurationManager { 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); } @@ -117,7 +118,7 @@ final class CameraConfigurationManager { 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; @@ -179,7 +180,15 @@ final class CameraConfigurationManager { 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) { + if (Build.MODEL.contains("Behold II") && CameraManager.SDK_INT == 3) { // 3 = 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"); }