mirror of
https://github.com/zxing/zxing.git
synced 2025-02-02 05:41:08 -08:00
Refactor logging of camera params
This commit is contained in:
parent
9b2ddac3cf
commit
c103e59b7e
|
@ -19,6 +19,7 @@ package com.google.zxing.client.android.camera;
|
|||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.hardware.Camera;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -28,6 +29,7 @@ import java.util.Collections;
|
|||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* Utility methods for configuring the Android camera.
|
||||
|
@ -38,6 +40,8 @@ public final class CameraConfigurationUtils {
|
|||
|
||||
private static final String TAG = "CameraConfiguration";
|
||||
|
||||
private static final Pattern SEMICOLON = Pattern.compile(";");
|
||||
|
||||
private static final int MIN_PREVIEW_PIXELS = 480 * 320; // normal screen
|
||||
private static final float MAX_EXPOSURE_COMPENSATION = 1.5f;
|
||||
private static final float MIN_EXPOSURE_COMPENSATION = 0.0f;
|
||||
|
@ -401,4 +405,42 @@ public final class CameraConfigurationUtils {
|
|||
return result.toString();
|
||||
}
|
||||
|
||||
public static String collectStats(Camera.Parameters parameters) {
|
||||
return collectStats(parameters.flatten());
|
||||
}
|
||||
|
||||
public static String collectStats(CharSequence flattenedParams) {
|
||||
StringBuilder result = new StringBuilder(1000);
|
||||
|
||||
result.append("BOARD=").append(Build.BOARD).append('\n');
|
||||
result.append("BRAND=").append(Build.BRAND).append('\n');
|
||||
result.append("CPU_ABI=").append(Build.CPU_ABI).append('\n');
|
||||
result.append("DEVICE=").append(Build.DEVICE).append('\n');
|
||||
result.append("DISPLAY=").append(Build.DISPLAY).append('\n');
|
||||
result.append("FINGERPRINT=").append(Build.FINGERPRINT).append('\n');
|
||||
result.append("HOST=").append(Build.HOST).append('\n');
|
||||
result.append("ID=").append(Build.ID).append('\n');
|
||||
result.append("MANUFACTURER=").append(Build.MANUFACTURER).append('\n');
|
||||
result.append("MODEL=").append(Build.MODEL).append('\n');
|
||||
result.append("PRODUCT=").append(Build.PRODUCT).append('\n');
|
||||
result.append("TAGS=").append(Build.TAGS).append('\n');
|
||||
result.append("TIME=").append(Build.TIME).append('\n');
|
||||
result.append("TYPE=").append(Build.TYPE).append('\n');
|
||||
result.append("USER=").append(Build.USER).append('\n');
|
||||
result.append("VERSION.CODENAME=").append(Build.VERSION.CODENAME).append('\n');
|
||||
result.append("VERSION.INCREMENTAL=").append(Build.VERSION.INCREMENTAL).append('\n');
|
||||
result.append("VERSION.RELEASE=").append(Build.VERSION.RELEASE).append('\n');
|
||||
result.append("VERSION.SDK_INT=").append(Build.VERSION.SDK_INT).append('\n');
|
||||
|
||||
if (flattenedParams != null) {
|
||||
String[] params = SEMICOLON.split(flattenedParams);
|
||||
Arrays.sort(params);
|
||||
for (String param : params) {
|
||||
result.append(param).append('\n');
|
||||
}
|
||||
}
|
||||
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,6 +32,11 @@
|
|||
<artifactId>android-integration</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>android-core</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.android</groupId>
|
||||
<artifactId>android</artifactId>
|
||||
|
|
|
@ -22,7 +22,6 @@ import android.content.Intent;
|
|||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.hardware.Camera;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.provider.ContactsContract;
|
||||
|
@ -31,6 +30,8 @@ import android.view.Menu;
|
|||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.zxing.client.android.camera.CameraConfigurationUtils;
|
||||
import com.google.zxing.integration.android.IntentIntegrator;
|
||||
import com.google.zxing.integration.android.IntentResult;
|
||||
|
||||
|
@ -40,14 +41,11 @@ import java.io.IOException;
|
|||
import java.io.OutputStreamWriter;
|
||||
import java.io.Writer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Arrays;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public final class ZXingTestActivity extends Activity {
|
||||
|
||||
private static final String TAG = ZXingTestActivity.class.getSimpleName();
|
||||
private static final String PACKAGE_NAME = ZXingTestActivity.class.getPackage().getName();
|
||||
private static final Pattern SEMICOLON = Pattern.compile(";");
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
|
@ -118,7 +116,8 @@ public final class ZXingTestActivity extends Activity {
|
|||
private final View.OnClickListener getCameraParameters = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String stats = collectStats();
|
||||
String stats = CameraConfigurationUtils.collectStats(getFlattenedParams());
|
||||
writeStats(stats);
|
||||
Intent intent = new Intent(Intent.ACTION_SEND);
|
||||
intent.putExtra(Intent.EXTRA_EMAIL, "zxing-external@google.com");
|
||||
intent.putExtra(Intent.EXTRA_SUBJECT, "Camera parameters report");
|
||||
|
@ -283,44 +282,6 @@ public final class ZXingTestActivity extends Activity {
|
|||
}
|
||||
}
|
||||
|
||||
private static String collectStats() {
|
||||
StringBuilder result = new StringBuilder(1000);
|
||||
|
||||
result.append("BOARD=").append(Build.BOARD).append('\n');
|
||||
result.append("BRAND=").append(Build.BRAND).append('\n');
|
||||
result.append("CPU_ABI=").append(Build.CPU_ABI).append('\n');
|
||||
result.append("DEVICE=").append(Build.DEVICE).append('\n');
|
||||
result.append("DISPLAY=").append(Build.DISPLAY).append('\n');
|
||||
result.append("FINGERPRINT=").append(Build.FINGERPRINT).append('\n');
|
||||
result.append("HOST=").append(Build.HOST).append('\n');
|
||||
result.append("ID=").append(Build.ID).append('\n');
|
||||
result.append("MANUFACTURER=").append(Build.MANUFACTURER).append('\n');
|
||||
result.append("MODEL=").append(Build.MODEL).append('\n');
|
||||
result.append("PRODUCT=").append(Build.PRODUCT).append('\n');
|
||||
result.append("TAGS=").append(Build.TAGS).append('\n');
|
||||
result.append("TIME=").append(Build.TIME).append('\n');
|
||||
result.append("TYPE=").append(Build.TYPE).append('\n');
|
||||
result.append("USER=").append(Build.USER).append('\n');
|
||||
result.append("VERSION.CODENAME=").append(Build.VERSION.CODENAME).append('\n');
|
||||
result.append("VERSION.INCREMENTAL=").append(Build.VERSION.INCREMENTAL).append('\n');
|
||||
result.append("VERSION.RELEASE=").append(Build.VERSION.RELEASE).append('\n');
|
||||
result.append("VERSION.SDK_INT=").append(Build.VERSION.SDK_INT).append('\n');
|
||||
|
||||
CharSequence flattened = getFlattenedParams();
|
||||
if (flattened != null) {
|
||||
String[] params = SEMICOLON.split(flattened);
|
||||
Arrays.sort(params);
|
||||
for (String param : params) {
|
||||
result.append(param).append('\n');
|
||||
}
|
||||
}
|
||||
|
||||
String resultString = result.toString();
|
||||
writeStats(resultString);
|
||||
|
||||
return resultString;
|
||||
}
|
||||
|
||||
private static void writeStats(String resultString) {
|
||||
File cameraParamsFile = new File(Environment.getExternalStorageDirectory().getPath() + "/CameraParameters.txt");
|
||||
Writer out = null;
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
package com.google.zxing.client.glass;
|
||||
|
||||
import android.hardware.Camera;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.zxing.client.android.camera.CameraConfigurationUtils;
|
||||
|
||||
|
@ -25,6 +26,8 @@ import com.google.zxing.client.android.camera.CameraConfigurationUtils;
|
|||
*/
|
||||
final class CameraConfigurationManager {
|
||||
|
||||
private static final String TAG = "CameraConfiguration";
|
||||
|
||||
static final int ZOOM = 2;
|
||||
|
||||
private CameraConfigurationManager() {
|
||||
|
@ -33,8 +36,10 @@ final class CameraConfigurationManager {
|
|||
static void configure(Camera camera) {
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
parameters.setPreviewSize(1280, 720);
|
||||
//parameters.setPreviewSize(1920, 1080);
|
||||
configureAdvanced(parameters);
|
||||
camera.setParameters(parameters);
|
||||
//logAllParameters(parameters);
|
||||
}
|
||||
|
||||
private static void configureAdvanced(Camera.Parameters parameters) {
|
||||
|
@ -45,4 +50,12 @@ final class CameraConfigurationManager {
|
|||
CameraConfigurationUtils.setZoom(parameters, ZOOM);
|
||||
}
|
||||
|
||||
private static void logAllParameters(Camera.Parameters parameters) {
|
||||
if (Log.isLoggable(TAG, Log.INFO)) {
|
||||
for (String line : CameraConfigurationUtils.collectStats(parameters).split("\n")) {
|
||||
Log.i(TAG, line);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue