From ca47a54cf4520e806fbd10a2e4b58d373f7de6fb Mon Sep 17 00:00:00 2001 From: dswitkin Date: Thu, 11 Sep 2008 14:02:28 +0000 Subject: [PATCH] Small updates and improvements to the Android client. git-svn-id: http://zxing.googlecode.com/svn/trunk@577 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- android/res/values/strings.xml | 1 + .../com/android/barcodes/BarcodesCaptureActivity.java | 7 +++++++ android/src/com/android/barcodes/QRCodeEncoder.java | 7 ++++--- android/src/com/android/barcodes/ResultHandler.java | 9 +++++++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index 6e129201..63f58715 100755 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -21,6 +21,7 @@ Cancel Dial Email + Look up book Look up product OK Open browser diff --git a/android/src/com/android/barcodes/BarcodesCaptureActivity.java b/android/src/com/android/barcodes/BarcodesCaptureActivity.java index 4d9a9bc1..dd83dc45 100755 --- a/android/src/com/android/barcodes/BarcodesCaptureActivity.java +++ b/android/src/com/android/barcodes/BarcodesCaptureActivity.java @@ -22,6 +22,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.AssetFileDescriptor; +import android.content.res.Configuration; import android.media.MediaPlayer; import android.media.AudioManager; import android.media.MediaPlayer.OnCompletionListener; @@ -169,6 +170,12 @@ public final class BarcodesCaptureActivity extends Activity implements SurfaceHo return super.onOptionsItemSelected(item); } + @Override + public void onConfigurationChanged(Configuration config) { + // Do nothing, this is to prevent the activity from being restarted when the keyboard opens. + super.onConfigurationChanged(config); + } + private final DialogInterface.OnClickListener mAboutListener = new DialogInterface.OnClickListener() { public void onClick(android.content.DialogInterface dialogInterface, int i) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.zxing_url))); diff --git a/android/src/com/android/barcodes/QRCodeEncoder.java b/android/src/com/android/barcodes/QRCodeEncoder.java index 570ad6da..27c12e6c 100755 --- a/android/src/com/android/barcodes/QRCodeEncoder.java +++ b/android/src/com/android/barcodes/QRCodeEncoder.java @@ -35,6 +35,7 @@ import java.net.URI; public class QRCodeEncoder { private static final String TAG = "QRCodeEncoder"; + private static final String CHART_SERVER_URL = "//chart.apis.google.com/chart?cht=qr&chs="; private Activity mActivity; private String mContents; @@ -151,12 +152,12 @@ public class QRCodeEncoder { } public void run() { - String url = "//chartserver.apis.google.com/chart?cht=qr&chs="; - url += mPixelResolution + "x" + mPixelResolution + "&chl=" + mContents; + String url = CHART_SERVER_URL + mPixelResolution + "x" + mPixelResolution + "&chl=" + + mContents; try { URI uri = new URI("http", url, null); HttpGet get = new HttpGet(uri); - AndroidHttpClient client = AndroidHttpClient.newInstance("Android-BarcodeScanner/0.1"); + AndroidHttpClient client = AndroidHttpClient.newInstance("Android-Barcodes/0.1"); HttpResponse response = client.execute(get); HttpEntity entity = response.getEntity(); Bitmap image = BitmapFactory.decodeStream(entity.getContent()); diff --git a/android/src/com/android/barcodes/ResultHandler.java b/android/src/com/android/barcodes/ResultHandler.java index 89454724..ddaa0033 100755 --- a/android/src/com/android/barcodes/ResultHandler.java +++ b/android/src/com/android/barcodes/ResultHandler.java @@ -25,6 +25,7 @@ import com.google.zxing.Result; import com.google.zxing.client.result.AddressBookParsedResult; import com.google.zxing.client.result.EmailAddressParsedResult; import com.google.zxing.client.result.GeoParsedResult; +import com.google.zxing.client.result.ISBNParsedResult; import com.google.zxing.client.result.ParsedResult; import com.google.zxing.client.result.ParsedResultType; import com.google.zxing.client.result.ResultParser; @@ -90,6 +91,8 @@ final class ResultHandler implements Button.OnClickListener { buttonText = R.string.button_dial; } else if (type.equals(ParsedResultType.GEO)) { buttonText = R.string.button_show_map; + } else if (type.equals(ParsedResultType.ISBN)) { + buttonText = R.string.button_lookup_book; } else { buttonText = 0; } @@ -127,10 +130,12 @@ final class ResultHandler implements Button.OnClickListener { intent = new Intent(Intent.ACTION_VIEW, Uri.parse(geoResult.getGeoURI())); } else if (type.equals(ParsedResultType.UPC)) { UPCParsedResult upcResult = (UPCParsedResult) result; - // TODO: Add some UI to choose which product search to do - //Uri uri = Uri.parse("http://www.upcdatabase.com/item.asp?upc=" + upcResult.getUPC()); Uri uri = Uri.parse("http://www.google.com/products?q=" + upcResult.getUPC()); intent = new Intent(Intent.ACTION_VIEW, uri); + } else if (type.equals(ParsedResultType.ISBN)) { + ISBNParsedResult isbnResult = (ISBNParsedResult) result; + Uri uri = Uri.parse("http://www.google.com/products?q=" + isbnResult.getISBN()); + intent = new Intent(Intent.ACTION_VIEW, uri); } else if (type.equals(ParsedResultType.URI)) { URIParsedResult uriResult = (URIParsedResult) result; intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uriResult.getURI())); -- 2.20.1