From 76757bdcd4c8169092c4c1393eab26a73a533ccb Mon Sep 17 00:00:00 2001 From: srowen Date: Wed, 19 Mar 2008 20:18:28 +0000 Subject: [PATCH] More proper support for geo: URLs in Android git-svn-id: https://zxing.googlecode.com/svn/trunk@301 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- android/res/values/strings.xml | 5 +++-- .../android/BarcodeReaderCaptureActivity.java | 2 ++ .../zxing/client/android/ResultHandler.java | 16 +++++++--------- .../zxing/client/result/GeoParsedResult.java | 2 ++ 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index eb39149a6..3310e2a17 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -20,7 +20,7 @@ OK Yes About... - ZXing Barcode Reader v0.4\nhttp://code.google.com/p/zxing + ZXing Barcode Reader v0.6\nhttp://code.google.com/p/zxing Sorry, no barcode was found. About Barcode Detected @@ -30,5 +30,6 @@ Add Contact? Compose E-mail? Look Up Barcode Online? - Dial Number? + Dial Number? + View In Google Maps? diff --git a/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java b/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java index 9599dfe42..31966552d 100644 --- a/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java +++ b/android/src/com/google/zxing/client/android/BarcodeReaderCaptureActivity.java @@ -207,6 +207,8 @@ public final class BarcodeReaderCaptureActivity extends Activity { return R.string.title_lookup_barcode; } else if (type.equals(ParsedReaderResultType.TEL)) { return R.string.title_dial; + } else if (type.equals(ParsedReaderResultType.GEO)) { + return R.string.title_view_maps; } else { return R.string.title_barcode_detected; } diff --git a/android/src/com/google/zxing/client/android/ResultHandler.java b/android/src/com/google/zxing/client/android/ResultHandler.java index dc121d14e..cfe4df607 100755 --- a/android/src/com/google/zxing/client/android/ResultHandler.java +++ b/android/src/com/google/zxing/client/android/ResultHandler.java @@ -26,6 +26,7 @@ import com.google.zxing.client.result.AddressBookDoCoMoParsedResult; import com.google.zxing.client.result.BookmarkDoCoMoParsedResult; import com.google.zxing.client.result.EmailAddressParsedResult; import com.google.zxing.client.result.EmailDoCoMoParsedResult; +import com.google.zxing.client.result.GeoParsedResult; import com.google.zxing.client.result.ParsedReaderResult; import com.google.zxing.client.result.ParsedReaderResultType; import com.google.zxing.client.result.TelParsedResult; @@ -102,15 +103,12 @@ final class ResultHandler extends Handler { intent = new Intent(Intent.DIAL_ACTION, new ContentURI("tel:" + telResult.getNumber())); } catch (URISyntaxException e) { } - //} else if (type.equals(ParsedReaderResultType.GEO)) { - // GeoParsedResult geoResult = (GeoParsedResult) result; - // try { - // intent = new Intent(Intent.VIEW_ACTION, new ContentURI(geoResult.getGoogleMapsURI())); - // // or can we send the raw geo: URI to Android? maybe it'll open Maps? - // // or just open a MapView - // } catch (URISyntaxException e) { - // return; - // } + } else if (type.equals(ParsedReaderResultType.GEO)) { + GeoParsedResult geoResult = (GeoParsedResult) result; + try { + intent = new Intent(Intent.VIEW_ACTION, new ContentURI(geoResult.getGeoURI())); + } catch (URISyntaxException e) { + } } else if (type.equals(ParsedReaderResultType.UPC)) { UPCParsedResult upcResult = (UPCParsedResult) result; try { diff --git a/core/src/com/google/zxing/client/result/GeoParsedResult.java b/core/src/com/google/zxing/client/result/GeoParsedResult.java index 297c2d790..8cbb3bea1 100644 --- a/core/src/com/google/zxing/client/result/GeoParsedResult.java +++ b/core/src/com/google/zxing/client/result/GeoParsedResult.java @@ -115,6 +115,7 @@ public final class GeoParsedResult extends ParsedReaderResult { * by this instance, and sets the zoom level in a way that roughly reflects the * altitude, if specified */ + /* public String getGoogleMapsURI() { StringBuffer result = new StringBuffer(50); result.append("http://maps.google.com/?ll="); @@ -139,5 +140,6 @@ public final class GeoParsedResult extends ParsedReaderResult { } return result.toString(); } + */ } \ No newline at end of file