X-Git-Url: http://git.rot13.org/?p=zxing.git;a=blobdiff_plain;f=android%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fandroid%2Fresult%2FProductResultHandler.java;h=213697781b0c013ffc73ddd81ad772915b9b1b3c;hp=0f1405f01a8895797647176b1a8ec90817242bc6;hb=df9df215c09a6787961d0200de2638d169991af4;hpb=2bb349fdc9b83b812c888174844dbcab27897005 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 0f1405f0..21369778 100644 --- a/android/src/com/google/zxing/client/android/result/ProductResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ProductResultHandler.java @@ -16,14 +16,14 @@ package com.google.zxing.client.android.result; -import com.google.zxing.client.android.PreferencesActivity; +import com.google.zxing.Result; import com.google.zxing.client.android.R; import com.google.zxing.client.result.ParsedResult; import com.google.zxing.client.result.ProductParsedResult; import android.app.Activity; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; +import android.app.AlertDialog; +import android.content.DialogInterface; /** * Handles generic products which are not books. @@ -34,20 +34,17 @@ public final class ProductResultHandler extends ResultHandler { private static final int[] buttons = { R.string.button_product_search, R.string.button_web_search, + R.string.button_google_shopper, R.string.button_custom_product_search, }; - private final String customProductSearch; - - public ProductResultHandler(Activity activity, ParsedResult result) { - super(activity, result); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity); - customProductSearch = prefs.getString(PreferencesActivity.KEY_CUSTOM_PRODUCT_SEARCH, null); + public ProductResultHandler(Activity activity, ParsedResult result, Result rawResult) { + super(activity, result, rawResult); } @Override public int getButtonCount() { - return customProductSearch != null ? buttons.length : buttons.length - 1; + return hasCustomProductSearch() ? buttons.length : buttons.length - 1; } @Override @@ -56,20 +53,26 @@ public final class ProductResultHandler extends ResultHandler { } @Override - public void handleButtonPress(int index) { - ProductParsedResult productResult = (ProductParsedResult) getResult(); - switch (index) { - case 0: - openProductSearch(productResult.getNormalizedProductID()); - break; - case 1: - webSearch(productResult.getNormalizedProductID()); - break; - case 2: - String url = customProductSearch.replace("%s", productResult.getNormalizedProductID()); - openURL(url); - break; - } + public void handleButtonPress(final int index) { + showNotOurResults(index, new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialogInterface, int i) { + ProductParsedResult productResult = (ProductParsedResult) getResult(); + switch (index) { + case 0: + openProductSearch(productResult.getNormalizedProductID()); + break; + case 1: + webSearch(productResult.getNormalizedProductID()); + break; + case 2: + openGoogleShopper(productResult.getNormalizedProductID()); + break; + case 3: + openURL(fillInCustomSearchURL(productResult.getNormalizedProductID())); + break; + } + } + }); } @Override