<string name="result_failed">No barcode found</string>
<string name="result_failed_why">"The user gave up and pressed Back"</string>
<string name="result_succeeded">Found barcode</string>
- <string name="status_message">Press the shutter button to save images to the SD card for testing purposes. Press DPAD_CENTER to trigger autofocus.</string>
+ <string name="status_message">Press the shutter button or Search to save test images to the
+ SD card. Press DPAD_CENTER to trigger autofocus.</string>
<string name="save_succeeded">Save succeeded</string>
<string name="save_failed">Save failed - is the SD card installed?</string>
<string name="share_via_barcode">Share via barcode</string>
<string name="benchmark_name">ZXing Benchmark</string>
- <string name="benchmark_help">Place images in /sdcard/zxingbenchmark, then check \"adb logcat\" for results. Turn on Airplane Mode first for more reliable results.</string>
+ <string name="benchmark_help">Place images in /sdcard/zxingbenchmark, then check \"adb logcat\"
+ for results. Turn on Airplane Mode first for more reliable results.</string>
<string name="benchmark_run">Run benchmark</string>
<string name="benchmark_running">Benchmark running...\u2026</string>
</resources>
*/
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;
}
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);
}
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();
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);
}
}
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) {