diff options
| author | srowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57> | 2009-09-16 13:58:41 +0400 |
|---|---|---|
| committer | srowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57> | 2009-09-16 13:58:41 +0400 |
| commit | fbff007f1394206f7128e0aa921269e5f596d65e (patch) | |
| tree | 884dfcb8ee414973e916be1f70f2747c62e270a2 | |
| parent | df26d16c47136ce39b267d3450c96b834460a949 (diff) | |
| download | zxing-android-embedded-fbff007f1394206f7128e0aa921269e5f596d65e.tar.xz | |
Allow custom search on 'text' results. Seems maybe useful for Code 128/39 payloads, and, the UI for this result type is not overcrowded yet
git-svn-id: http://zxing.googlecode.com/svn/trunk/android@1055 59b500cc-1b3d-0410-9834-0bbf25fbcc57
| -rw-r--r-- | src/com/google/zxing/client/android/result/TextResultHandler.java | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/com/google/zxing/client/android/result/TextResultHandler.java b/src/com/google/zxing/client/android/result/TextResultHandler.java index 010b76c8..c40f3567 100644 --- a/src/com/google/zxing/client/android/result/TextResultHandler.java +++ b/src/com/google/zxing/client/android/result/TextResultHandler.java @@ -17,9 +17,12 @@ package com.google.zxing.client.android.result; import com.google.zxing.client.android.R; +import com.google.zxing.client.android.PreferencesActivity; import com.google.zxing.client.result.ParsedResult; import android.app.Activity; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; /** * This class handles TextParsedResult as well as unknown formats. It's the fallback handler. @@ -27,19 +30,26 @@ import android.app.Activity; * @author dswitkin@google.com (Daniel Switkin) */ public final class TextResultHandler extends ResultHandler { + private static final int[] buttons = { R.string.button_web_search, R.string.button_share_by_email, - R.string.button_share_by_sms + R.string.button_share_by_sms, + R.string.button_custom_product_search, }; + private final String customProductSearch; + public TextResultHandler(Activity activity, ParsedResult result) { super(activity, result); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity); + customProductSearch = prefs.getString(PreferencesActivity.KEY_CUSTOM_PRODUCT_SEARCH, null); } @Override public int getButtonCount() { - return buttons.length; + return customProductSearch != null && customProductSearch.length() > 0 ? + buttons.length : buttons.length - 1; } @Override @@ -49,15 +59,20 @@ public final class TextResultHandler extends ResultHandler { @Override public void handleButtonPress(int index) { + String text = result.getDisplayResult(); switch (index) { case 0: - webSearch(result.getDisplayResult()); + webSearch(text); break; case 1: - shareByEmail(result.getDisplayResult()); + shareByEmail(text); break; case 2: - shareBySMS(result.getDisplayResult()); + shareBySMS(text); + break; + case 3: + String url = customProductSearch.replace("%s", text); + openURL(url); break; } } |
