From 6291508a2e51147a28b286ced07c4356e81ac4e8 Mon Sep 17 00:00:00 2001 From: dswitkin Date: Sat, 3 May 2008 16:10:16 +0000 Subject: [PATCH] Merged revisions 378,380,382 via svnmerge from https://zxing.googlecode.com/svn/trunk/android-m3 ........ r378 | dswitkin | 2008-04-28 21:27:27 -0400 (Mon, 28 Apr 2008) | 4 lines - Added Joseph's excellent supermarket checkout beep. There seems to be a bug in the M3 framework where it sometimes plays twice or hiccups. - Changed the status bar to flash green for a second when the result points are drawn. - Added install as a target to the build file. - Fixed a crashing bug when decoding from preview mode (driver problem). ........ r380 | srowen | 2008-05-02 14:39:03 -0400 (Fri, 02 May 2008) | 2 lines Added preliminary support for MobileTag formats; not enabled yet. Added "sms:" URI support. ........ r382 | srowen | 2008-05-02 15:18:14 -0400 (Fri, 02 May 2008) | 1 line Many more little tweaks from IntelliJ inspections ........ git-svn-id: https://zxing.googlecode.com/svn/trunk@384 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- android/build.xml | 1 + android/res/layout/main.xml | 2 +- android/res/raw/beep.wav | Bin 0 -> 17684 bytes .../android/BarcodeReaderCaptureActivity.java | 17 +++++++++++++++++ .../zxing/client/android/CameraManager.java | 2 +- .../zxing/client/android/ResultHandler.java | 3 +++ 6 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 android/res/raw/beep.wav diff --git a/android/build.xml b/android/build.xml index c79690468..9034b6237 100644 --- a/android/build.xml +++ b/android/build.xml @@ -49,6 +49,7 @@ + diff --git a/android/res/layout/main.xml b/android/res/layout/main.xml index 115a8d27c..e844111ca 100644 --- a/android/res/layout/main.xml +++ b/android/res/layout/main.xml @@ -39,7 +39,7 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0" - android:background="#55000000" + android:background="#50000000" android:baselineAligned="false" android:padding="4px"> diff --git a/android/res/raw/beep.wav b/android/res/raw/beep.wav new file mode 100644 index 0000000000000000000000000000000000000000..1a11aadba32362396d6f5098ed9ad462d63fc6a5 GIT binary patch literal 17684 zcmcJWX;9Sn8OPUD8#z4Nj7Cu8N~a#E$wcK+@Jcg{0*YY9j1i;k?thnST^AN%4;Eoz zITn^Z@JO^x6H(-_eW9^|s$$Ys1Zhxgn=u#;!Awh^|1z00X*A!bGaX(iGX9)# zo_Rj|J)X_4ZrI?xULr}1PFSCuqMkopB9Tm>uXVK&iFw-u$upAalHEz_r2Fe6lCd%0 z3E9s)H?eP0|Fg3^cX~HYojBuXKN6nXJuBdO=bZCCX5RQ z!{r+aB!(w{y;iurV&>svZ#bjlI4~=Sm;8FEW4kTmSv1rjh{Z12y*cnEp+TLpD^p^(iy*pZ~)70%KKB zT1O7{x?hewwaxa!r%vG4uX`I$m2H+k56=gw-LBld*xO_J8=0Phto*X^ z`(7RYdE5anTYZXbKlXZYZdY1_T~mm?Eir_ac1dgYVQ-J=kMFxBjVMLm))a=>Z>L#u zvDfAM>r=dJaR;#1FB@g$Ucz;F5_Nm;xTe9A_)d}B>7}ZLw(XccN^4YfS{H(o_^GL? zB0@O=PU4_0E~C-W3vZSymOaTU;LS28Gge+#<^@jTq=Gh^km?I=mg_meX@;uv;AV+8 z442wvyENFWjOqJXj0-Uj5#yr3&C*DWi>a)J85d}66U;E<+EhWVZ7}1u6~EwWgBe#$ zj0>=8V8+E%K7tt+rE{ha*_XnTm|rqa`UO0RyNGdvr3oPwF*z&3m80M!4(T>$)H(X#&C+g> zB`=3Ji^#afGEZ<4Cl$2X6shw-#&rx?#w8jCOI@-gm~o%0gQNyn$1O1r+nwpF z!Oc>i{fHRn1R0mb)N!rEI9$gi76&sJXUS?60%68ENyj}>)`L1uWZbYl1fE1u$MwUL zxKraK#%+NaC+fJH;3Uq?QKYumCWDhG>bO|B54>4;IIE-H*99cN)OE}V4S37By;Y_IZ8S`ovm^n@9Akr+3HCraI<{kX52+^vm_dZ$g9M4T)#Sy!MLTA$2s6U z?sWDL={Pix)8qwNn*|H(Rko^La3#QAWn%G9T+Ix|wF`c59(OQ5wsKf`8q{&CbO+N1 z>`P$AnOI(BlBSw;Ts*Af3{`=!j+>Vw5aXT&CsFh&IXZ47d6jq`*JnP($m2$}5lUx8 z5BTXh#Pk=dk>yn?7&>mMrN^a*b=-|iFF^|Daj^$H$*V;3xFTX)xLplQ~tj>v;$JH`)T&FY~&f~<+NjI$HWW+cRSjSx=9mmPza`*PQroxkW zq)0(|+zC*}MQe46+tvl(r!6s$!#gL#x>)im@57&-+gY8H*_on_LpvuT;}i_W1*93P zehYqjjwc<*VcZwQI3t|Li8_wcIT7oZ!96O$ z2QzMzyh=yKr{HE8&*P$D#(AhXI&L~K4%cy_S1BuR0v)2*10Iye$-z9XB)2k>QzQ*O$;3;=5cuEWZbK~ z3vZToiAqYTp=-z z)2j?)-42`}uQC*7oTf0GZU<1WQc5}w?^Rx)UZuBi4W2|DOUE58l2IOq>NsBK zL&pv1;>oMT8F!U*9PU-l$&8bqVlb}7ri5WE|eBOrSgt_bQ92a}oe|PR4Z{%D6~fHRW;3;7?md zmX6y+UgZevRbDL6Gw$Q~dE6Gp?Z8U9kGldpM1AH42IEGxp>#Wd>bRepy2-0VZwF3M zuaet2;oZjx<>x^i7ek$s#*{svjuU&8;f&jX$kIPEIw!o_0d3(5drw+1oX3gxahyDk zb03$>yd6-`eH`Aa6z}8EUgbFB&|ame;~E(Eabm9$za0>Jm33v_;3SUsD$(148}8cy z^geE@TgP#FmGc>$lSSr7_UiOV2IFEX55tTLWaV)!m@of^1j+V)Rk-`ntmGp{!+t2zCP zk;C&{>#Kx{lQJP!FD?fTW?+JBrLIva8+kc~Hg3&=C~f4%u*T(WFII*`Eciq44*yAWug`w)w`KR6?$zEM?XB%? q?~T6edv9ak@9$Usz3{X5AN2GG59}FoJbG`m>dOuPZ2s3o$-e;wi(WMV literal 0 HcmV?d00001 diff --git a/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java b/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java index 34e7ef9a9..b8dae1e5b 100644 --- a/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java +++ b/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java @@ -19,6 +19,7 @@ package com.google.zxing.client.android; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -165,6 +166,7 @@ public final class BarcodeReaderCaptureActivity extends Activity { }; void restartPreview() { + resetStatusViewColor(); Message restart = Message.obtain(cameraThread.handler, R.id.restart_preview); restart.sendToTarget(); } @@ -172,6 +174,7 @@ public final class BarcodeReaderCaptureActivity extends Activity { private void handleDecode(Result rawResult, int duration) { if (!rawResult.toString().equals(lastResult)) { lastResult = rawResult.toString(); + playBeepSound(); ResultPoint[] points = rawResult.getResultPoints(); if (points != null && points.length > 0) { @@ -194,6 +197,9 @@ public final class BarcodeReaderCaptureActivity extends Activity { actionButton.setVisibility(View.GONE); } + View statusView = findViewById(R.id.status_view); + statusView.setBackgroundColor(0xc000ff00); + // Show the green finder patterns for one second, then restart the preview Message message = Message.obtain(messageHandler, R.id.restart_preview); messageHandler.sendMessageDelayed(message, 1000); @@ -202,7 +208,13 @@ public final class BarcodeReaderCaptureActivity extends Activity { } } + private void playBeepSound() { + MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.beep); + mediaPlayer.start(); + } + private void resetStatusView() { + resetStatusViewColor(); TextView textView = (TextView) findViewById(R.id.status_text_view); textView.setText(R.string.msg_default_status); View actionButton = findViewById(R.id.status_action_button); @@ -210,6 +222,11 @@ public final class BarcodeReaderCaptureActivity extends Activity { lastResult = ""; } + private void resetStatusViewColor() { + View statusView = findViewById(R.id.status_view); + statusView.setBackgroundColor(0x50000000); + } + private static ParsedReaderResult parseReaderResult(Result rawResult) { ParsedReaderResult readerResult = ParsedReaderResult.parseReaderResult(rawResult); if (readerResult.getType().equals(ParsedReaderResultType.TEXT)) { diff --git a/android/src/com/google/zxing/client/android/CameraManager.java b/android/src/com/google/zxing/client/android/CameraManager.java index e751f00cb..57a591319 100644 --- a/android/src/com/google/zxing/client/android/CameraManager.java +++ b/android/src/com/google/zxing/client/android/CameraManager.java @@ -272,7 +272,7 @@ final class CameraManager { */ private void calculatePreviewResolution() { if (previewResolution == null) { - int previewHeight = (int) (stillResolution.x * stillMultiplier * 1.8f); + int previewHeight = (int) (stillResolution.x * stillMultiplier * 1.5f); int previewWidth = previewHeight * screenResolution.x / screenResolution.y; previewWidth = ((previewWidth + 7) >> 3) << 3; if (previewWidth > cameraResolution.x) previewWidth = cameraResolution.x; diff --git a/android/src/com/google/zxing/client/android/ResultHandler.java b/android/src/com/google/zxing/client/android/ResultHandler.java index 13aaa831e..b9fb37998 100755 --- a/android/src/com/google/zxing/client/android/ResultHandler.java +++ b/android/src/com/google/zxing/client/android/ResultHandler.java @@ -87,6 +87,9 @@ final class ResultHandler implements Button.OnClickListener { } else if (type.equals(ParsedReaderResultType.SMS)) { SMSParsedResult smsResult = (SMSParsedResult) result; intent = new Intent(Intent.SENDTO_ACTION, Uri.parse(smsResult.getSMSURI())); + } else if (type.equals(ParsedReaderResultType.SMS)) { + SMSParsedResult smsResult = (SMSParsedResult) result; + intent = new Intent(Intent.SENDTO_ACTION, Uri.parse(smsResult.getSMSURI())); } else if (type.equals(ParsedReaderResultType.TEL)) { TelParsedResult telResult = (TelParsedResult) result; intent = new Intent(Intent.DIAL_ACTION, Uri.parse("tel:" + telResult.getNumber()));