From 699e3ff2a81625fda7204b81560642d75ee9717d Mon Sep 17 00:00:00 2001 From: srowen Date: Sat, 19 Jan 2013 23:08:04 +0000 Subject: [PATCH] Fix bug on clicking through to search after an RSS expanded product scan git-svn-id: https://zxing.googlecode.com/svn/trunk@2562 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- .../android/result/ProductResultHandler.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/android/src/com/google/zxing/client/android/result/ProductResultHandler.java b/android/src/com/google/zxing/client/android/result/ProductResultHandler.java index d6f0e5141..77ba50634 100644 --- a/android/src/com/google/zxing/client/android/result/ProductResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ProductResultHandler.java @@ -18,6 +18,7 @@ package com.google.zxing.client.android.result; import com.google.zxing.Result; import com.google.zxing.client.android.R; +import com.google.zxing.client.result.ExpandedProductParsedResult; import com.google.zxing.client.result.ParsedResult; import com.google.zxing.client.result.ProductParsedResult; @@ -59,16 +60,24 @@ public final class ProductResultHandler extends ResultHandler { @Override public void handleButtonPress(int index) { - ProductParsedResult productResult = (ProductParsedResult) getResult(); + ParsedResult rawResult = getResult(); + String productID; + if (rawResult instanceof ProductParsedResult) { + productID = ((ProductParsedResult) rawResult).getNormalizedProductID(); + } else if (rawResult instanceof ExpandedProductParsedResult) { + productID = ((ExpandedProductParsedResult) rawResult).getRawText(); + } else { + throw new IllegalArgumentException(rawResult.getClass().toString()); + } switch (index) { case 0: - openProductSearch(productResult.getNormalizedProductID()); + openProductSearch(productID); break; case 1: - webSearch(productResult.getNormalizedProductID()); + webSearch(productID); break; case 2: - openURL(fillInCustomSearchURL(productResult.getNormalizedProductID())); + openURL(fillInCustomSearchURL(productID)); break; } }