From 37298b5275c5f7ada23bfa10ac861fa8ea2dfe4b Mon Sep 17 00:00:00 2001 From: dswitkin Date: Fri, 26 Jun 2009 18:48:14 +0000 Subject: [PATCH] Updated the Android Test app to use a wider viewfinder, to save images as PNGs instead of JPEGs, and to work on phones without a shutter button. git-svn-id: http://zxing.googlecode.com/svn/trunk@996 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- androidtest/res/values/strings.xml | 6 ++++-- .../google/zxing/client/androidtest/CameraManager.java | 10 +++++----- .../zxing/client/androidtest/CameraTestActivity.java | 2 +- .../google/zxing/client/androidtest/SaveThread.java | 6 +++--- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/androidtest/res/values/strings.xml b/androidtest/res/values/strings.xml index 18773c12..ac53797e 100755 --- a/androidtest/res/values/strings.xml +++ b/androidtest/res/values/strings.xml @@ -31,13 +31,15 @@ No barcode found "The user gave up and pressed Back" Found barcode - Press the shutter button to save images to the SD card for testing purposes. Press DPAD_CENTER to trigger autofocus. + Press the shutter button or Search to save test images to the + SD card. Press DPAD_CENTER to trigger autofocus. Save succeeded Save failed - is the SD card installed? Share via barcode ZXing Benchmark - Place images in /sdcard/zxingbenchmark, then check \"adb logcat\" for results. Turn on Airplane Mode first for more reliable results. + Place images in /sdcard/zxingbenchmark, then check \"adb logcat\" + for results. Turn on Airplane Mode first for more reliable results. Run benchmark Benchmark running...\u2026 diff --git a/androidtest/src/com/google/zxing/client/androidtest/CameraManager.java b/androidtest/src/com/google/zxing/client/androidtest/CameraManager.java index 723a0214..865d03be 100755 --- a/androidtest/src/com/google/zxing/client/androidtest/CameraManager.java +++ b/androidtest/src/com/google/zxing/client/androidtest/CameraManager.java @@ -132,11 +132,11 @@ final class CameraManager { */ public Rect getFramingRect() { if (mFramingRect == null) { - int size = ((mScreenResolution.x < mScreenResolution.y) ? mScreenResolution.x : - mScreenResolution.y) * 3 / 4; - int leftOffset = (mScreenResolution.x - size) / 2; - int topOffset = (mScreenResolution.y - size) / 2; - mFramingRect = new Rect(leftOffset, topOffset, leftOffset + size, topOffset + size); + int width = mScreenResolution.x; + int height = mScreenResolution.y * 3 / 4; + int leftOffset = (mScreenResolution.x - width) / 2; + int topOffset = (mScreenResolution.y - height) / 2; + mFramingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height); } return mFramingRect; } diff --git a/androidtest/src/com/google/zxing/client/androidtest/CameraTestActivity.java b/androidtest/src/com/google/zxing/client/androidtest/CameraTestActivity.java index 0ea89ac9..c23bec10 100755 --- a/androidtest/src/com/google/zxing/client/androidtest/CameraTestActivity.java +++ b/androidtest/src/com/google/zxing/client/androidtest/CameraTestActivity.java @@ -101,7 +101,7 @@ public final class CameraTestActivity extends Activity implements SurfaceHolder. CameraManager.get().requestAutoFocus(mHandler, R.id.auto_focus); } return true; - } else if (keyCode == KeyEvent.KEYCODE_CAMERA) { + } else if (keyCode == KeyEvent.KEYCODE_CAMERA || keyCode == KeyEvent.KEYCODE_SEARCH) { if (event.getRepeatCount() == 0) { CameraManager.get().requestPreviewFrame(mSaveThread.mHandler, R.id.save); } diff --git a/androidtest/src/com/google/zxing/client/androidtest/SaveThread.java b/androidtest/src/com/google/zxing/client/androidtest/SaveThread.java index 698d6eff..166e495c 100755 --- a/androidtest/src/com/google/zxing/client/androidtest/SaveThread.java +++ b/androidtest/src/com/google/zxing/client/androidtest/SaveThread.java @@ -63,7 +63,7 @@ final class SaveThread extends Thread { Looper.loop(); } - // Save the center rectangle of the Y channel as a greyscale JPEG to the SD card + // Save the center rectangle of the Y channel as a greyscale PNG to the SD card. private void save(byte[] data, int width, int height) { int framingWidth = mFramingRect.width(); int framingHeight = mFramingRect.height(); @@ -88,7 +88,7 @@ final class SaveThread extends Thread { Bitmap.Config.ARGB_8888); OutputStream outStream = getNewPhotoOutputStream(); if (outStream != null) { - bitmap.compress(Bitmap.CompressFormat.JPEG, 80, outStream); + bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream); try { outStream.close(); Message message = Message.obtain(mActivity.mHandler, R.id.save_succeeded); @@ -119,7 +119,7 @@ final class SaveThread extends Thread { } } Date now = new Date(); - String fileName = now.getTime() + ".jpg"; + String fileName = now.getTime() + ".png"; try { return new FileOutputStream(new File(barcodes, fileName)); } catch (FileNotFoundException e) { -- 2.20.1