From d148e9ff9d14188250517bbc886edf4b2194f192 Mon Sep 17 00:00:00 2001 From: srowen Date: Wed, 2 Nov 2011 13:33:50 +0000 Subject: [PATCH] Issue 1029 Can now override device locale for purposes of determining which Google to search git-svn-id: https://zxing.googlecode.com/svn/trunk@2005 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- android/res/values-ar/strings.xml | 1 + android/res/values-bg/strings.xml | 1 + android/res/values-cs/strings.xml | 1 + android/res/values-da/strings.xml | 1 + android/res/values-de/strings.xml | 1 + android/res/values-el/strings.xml | 1 + android/res/values-es/strings.xml | 1 + android/res/values-fi/strings.xml | 1 + android/res/values-fr/strings.xml | 1 + android/res/values-he/strings.xml | 1 + android/res/values-hi/strings.xml | 1 + android/res/values-hu/strings.xml | 1 + android/res/values-id/strings.xml | 1 + android/res/values-it/strings.xml | 1 + android/res/values-iw/strings.xml | 1 + android/res/values-ja/strings.xml | 1 + android/res/values-ko/strings.xml | 1 + android/res/values-nl/strings.xml | 1 + android/res/values-pl/strings.xml | 1 + android/res/values-pt/strings.xml | 3 +- android/res/values-ru/strings.xml | 1 + android/res/values-sk/strings.xml | 1 + android/res/values-sl/strings.xml | 1 + android/res/values-sv/strings.xml | 1 + android/res/values-tr/strings.xml | 1 + android/res/values-zh-rCN/strings.xml | 1 + android/res/values-zh-rTW/strings.xml | 1 + android/res/values/arrays.xml | 35 +++++++++++++++++++ android/res/values/strings.xml | 1 + android/res/xml/preferences.xml | 6 ++++ .../zxing/client/android/LocaleManager.java | 29 +++++++++++---- .../client/android/PreferencesActivity.java | 1 + .../android/book/BrowseBookListener.java | 2 +- .../client/android/result/ResultHandler.java | 6 ++-- .../supplement/BookResultInfoRetriever.java | 11 +++--- .../ProductResultInfoRetriever.java | 8 ++--- 36 files changed, 109 insertions(+), 19 deletions(-) create mode 100644 android/res/values/arrays.xml diff --git a/android/res/values-ar/strings.xml b/android/res/values-ar/strings.xml index 599462d72..455be7e7d 100644 --- a/android/res/values-ar/strings.xml +++ b/android/res/values-ar/strings.xml @@ -118,6 +118,7 @@ تمكين على الأجهزة مع كاميرا أمامية فقط عكس الكاميرا صورة عندما لمسح الباركود + ابحث عن بلد محاولة لاسترداد مزيد من المعلومات حول محتويات الباركود استرداد مزيد من المعلومات اهتزاز diff --git a/android/res/values-bg/strings.xml b/android/res/values-bg/strings.xml index b09b912cb..c68ab3fb5 100644 --- a/android/res/values-bg/strings.xml +++ b/android/res/values-bg/strings.xml @@ -118,6 +118,7 @@ Включете го за устройства само с предна камера Обърнато изображение При сканиране да се декодират\u2026 + Търсене страната Опитай да получиш повече информация за баркода Търсене на разширения Вибрация diff --git a/android/res/values-cs/strings.xml b/android/res/values-cs/strings.xml index f5b7fa5a0..a6d3bb823 100644 --- a/android/res/values-cs/strings.xml +++ b/android/res/values-cs/strings.xml @@ -118,6 +118,7 @@ Povolit na zařízeních s pouze přední fotoaparát Obrácený obraz z kamery Při skenování čárových kódů pro, dekódovat\u2026 + Hledání země Získat více informací o obsahu čárového kódu Získat více informací Vibrace diff --git a/android/res/values-da/strings.xml b/android/res/values-da/strings.xml index 39a286e6f..e20e2bf9a 100644 --- a/android/res/values-da/strings.xml +++ b/android/res/values-da/strings.xml @@ -118,6 +118,7 @@ Aktiver kun på enheder med et frontkamera Omvendt kamerabillede Når der scannes efter stregkoder\u2026 + Søg efter land Prøv at få mere information om stregkodens indhold Hent mere info Vibrér diff --git a/android/res/values-de/strings.xml b/android/res/values-de/strings.xml index f6b6759ba..2f23d35e7 100644 --- a/android/res/values-de/strings.xml +++ b/android/res/values-de/strings.xml @@ -118,6 +118,7 @@ Bei Geräten nur mit Frontkamera aktivieren Umgekehrtes Kamerabild Beim Scannen von Barcodes, dekodieren\u2026 + Suche Land Versuchen, weitere Informationen über Barcode-Inhalte abzurufen Weitere Informationen abrufen Vibrieren diff --git a/android/res/values-el/strings.xml b/android/res/values-el/strings.xml index e1e6aa673..ffd55d908 100644 --- a/android/res/values-el/strings.xml +++ b/android/res/values-el/strings.xml @@ -118,6 +118,7 @@ Ενεργοποιήστε σε συσκευές με μόνο μπροστινή κάμερα Ανάποδη εικόνα κάμερας Όταν σκανάρεις barcodes, ψάχνε για\u2026 + Χώρα Αναζήτηση Προσπάθησε να βρείς περισσότερες πληροφορίες για τα περιεχόμενα του barcode Ψάχνε επιπλέον πληροφορίες Δόνηση diff --git a/android/res/values-es/strings.xml b/android/res/values-es/strings.xml index 8ae310fd5..e3d0269dc 100644 --- a/android/res/values-es/strings.xml +++ b/android/res/values-es/strings.xml @@ -118,6 +118,7 @@ Activar en dispositivos con cámara frontal sólo Imagen invertida de la cámara Al escanear códigos de barras, descodificar\u2026 + País de buscar Buscar más información sobre el contenido del código de barras Buscar más información Vibrar diff --git a/android/res/values-fi/strings.xml b/android/res/values-fi/strings.xml index 5eab5bba2..1bee7ef82 100644 --- a/android/res/values-fi/strings.xml +++ b/android/res/values-fi/strings.xml @@ -118,6 +118,7 @@ Ota käyttöön laitteita etukameraa vain Käänteinen kameran kuva Kun skannaus viivakoodeja, dekoodaa\u2026 + Etsi maasta Yritä hakea lisätietoja viivakoodin sisältö Hae lisää tietoa Värinä diff --git a/android/res/values-fr/strings.xml b/android/res/values-fr/strings.xml index dbd3ddfa6..13f7c745d 100644 --- a/android/res/values-fr/strings.xml +++ b/android/res/values-fr/strings.xml @@ -118,6 +118,7 @@ Activer sur les appareils uniquement dotés d\'une caméra frontale Retourner l\'image Pendant la numérisation, lire les codes\u2026 + Pays Recherche Essayer de trouver plus d\'informations sur le contenu des codes-barres scannés Trouver plus d\'informations Vibrer diff --git a/android/res/values-he/strings.xml b/android/res/values-he/strings.xml index f9db2f62e..e084344b3 100755 --- a/android/res/values-he/strings.xml +++ b/android/res/values-he/strings.xml @@ -118,6 +118,7 @@ אפשר בהתקנים עם מצלמה קדמית בלבד תמונת מצלמה הפוכה בעת סריקת ברקודים, קודד... + חיפוש הארץ נסה למצא מידע נוסף על תוכן הברקוד מצא מידע נוסף רטט diff --git a/android/res/values-hi/strings.xml b/android/res/values-hi/strings.xml index bd746e352..4c7c88f22 100644 --- a/android/res/values-hi/strings.xml +++ b/android/res/values-hi/strings.xml @@ -118,6 +118,7 @@ सामने एक कैमरा के साथ ही उपकरणों पर सक्षम उलट कैमरा छवि जब बारकोड स्कैनिंग के लिए व्याख्या करना\u2026 + खोज देश बारकोड सामग्री के बारे में में अधिक जानकारी पुनः प्राप्त करने की कोशिश करो अधिक जानकारी पुनर्प्राप्त कांपना diff --git a/android/res/values-hu/strings.xml b/android/res/values-hu/strings.xml index de915e6d7..e38ce2ff5 100644 --- a/android/res/values-hu/strings.xml +++ b/android/res/values-hu/strings.xml @@ -118,6 +118,7 @@ Engedélyezze a készülék egy első kamera csak a Fordított fényképezőgép A szkennelés a vonalkódok, megfejtése\u2026 + Keresés ország Próbáld meg letölteni több információt a vonalkód tartalma Letölt További információk Rezgés diff --git a/android/res/values-id/strings.xml b/android/res/values-id/strings.xml index 2c1134833..f611b37a1 100644 --- a/android/res/values-id/strings.xml +++ b/android/res/values-id/strings.xml @@ -118,6 +118,7 @@ Aktifkan perangkat hanya dengan kamera depan Gambar kamera terbalik Ketika memindai barcode, decode\u2026 + Pencarian negara Mencoba mendapatkan beberapa informasi mengenai isi barcode Ambil informasi lebih lanjut Bergetar diff --git a/android/res/values-it/strings.xml b/android/res/values-it/strings.xml index b6a27a640..356d81917 100644 --- a/android/res/values-it/strings.xml +++ b/android/res/values-it/strings.xml @@ -118,6 +118,7 @@ Attiva solo su dispositivi con fotocamera frontale Immagine fotocamera invertita Durante la scansione di codici a barre, decodifica\u2026 + Cerca paese Prova a cercare ulteriori informazioni sul contenuto del codice a barre Recupera altre informazioni Vibra diff --git a/android/res/values-iw/strings.xml b/android/res/values-iw/strings.xml index f9db2f62e..e084344b3 100644 --- a/android/res/values-iw/strings.xml +++ b/android/res/values-iw/strings.xml @@ -118,6 +118,7 @@ אפשר בהתקנים עם מצלמה קדמית בלבד תמונת מצלמה הפוכה בעת סריקת ברקודים, קודד... + חיפוש הארץ נסה למצא מידע נוסף על תוכן הברקוד מצא מידע נוסף רטט diff --git a/android/res/values-ja/strings.xml b/android/res/values-ja/strings.xml index 1ea95faf5..33b23ac5f 100644 --- a/android/res/values-ja/strings.xml +++ b/android/res/values-ja/strings.xml @@ -118,6 +118,7 @@ フロントカメラのみを持つデバイスで有効にする カメラ画像の反転 バーコードスキャン時 + 検索国 バーコード内容についての詳細情報を取得してみてください 取得の詳細情報をもっと見る バイブ diff --git a/android/res/values-ko/strings.xml b/android/res/values-ko/strings.xml index b2eed61c4..5a173dec5 100644 --- a/android/res/values-ko/strings.xml +++ b/android/res/values-ko/strings.xml @@ -118,6 +118,7 @@ 단지 전면 카메라와 장치에 사용 반대로 카메라 이미지 바코드 스캐닝 시\u2026 + 국가별 검색 바코드 내용에 대한 자세한 정보를 검색하려고 검색 상세 정보 진동 diff --git a/android/res/values-nl/strings.xml b/android/res/values-nl/strings.xml index be7baf832..163a54448 100644 --- a/android/res/values-nl/strings.xml +++ b/android/res/values-nl/strings.xml @@ -118,6 +118,7 @@ Staat op apparaten met een camera aan de voorkant alleen Omgekeerd beeld van de camera Bij het scannen van barcodes, decodeer\u2026 + Zoeken op land Proberen om meer informatie over de inhoud van barcode ophalen Halen meer info Trillen diff --git a/android/res/values-pl/strings.xml b/android/res/values-pl/strings.xml index bcf344526..1a165285f 100644 --- a/android/res/values-pl/strings.xml +++ b/android/res/values-pl/strings.xml @@ -118,6 +118,7 @@ Włącz na urządzeniach z przedniej kamery tylko Odwrócony obraz z kamery Podczas skanowania kodów kreskowych\u2026 + Szukaj kraju Prosimy spróbować wyszukać więcej informacji na temat kodów kreskowych treści Pobierz więcej informacji Wibruj diff --git a/android/res/values-pt/strings.xml b/android/res/values-pt/strings.xml index 3d85817fb..f7c04cde2 100644 --- a/android/res/values-pt/strings.xml +++ b/android/res/values-pt/strings.xml @@ -56,7 +56,7 @@ Histórico do Barcode Scanner Enviar histórico Histórico - Descodificar imagem + Sobre Ajuda Histórico Definições @@ -118,6 +118,7 @@ Activar em dispositivos com câmera frontal apenas Inverter a imagem da câmera Quando procurar por códigos de barras, descodificar\u2026 + País busca Tentar recuperar mais informação sobre os conteúdos dos códigos de barras Recuperar mais informação Vibrar diff --git a/android/res/values-ru/strings.xml b/android/res/values-ru/strings.xml index fbfb7d0c3..45b9972ea 100644 --- a/android/res/values-ru/strings.xml +++ b/android/res/values-ru/strings.xml @@ -118,6 +118,7 @@ Позволяет распознавать штрих-коды на устройствах с фронтальной камерой Отразить изображение При сканировании штрих-кодов\u2026 + Поиск страны Показывать подробную информацию о штрих-коде Подробности Вибрировать diff --git a/android/res/values-sk/strings.xml b/android/res/values-sk/strings.xml index a10e955e3..3add13c03 100644 --- a/android/res/values-sk/strings.xml +++ b/android/res/values-sk/strings.xml @@ -118,6 +118,7 @@ Povoliť na zariadeniach iba s predným fotoaparátom Obrátený obraz z fotoaparátu Ak skenujem čiarové kódy, dekódujem... + Hľadanie krajiny Skúste získať viac informácií o obsahu čiarového kódu Získať viac informácií Vibrovať diff --git a/android/res/values-sl/strings.xml b/android/res/values-sl/strings.xml index 47600ae51..f14715445 100644 --- a/android/res/values-sl/strings.xml +++ b/android/res/values-sl/strings.xml @@ -118,6 +118,7 @@ Omogoči na napravah z sprednjo kamero samo Zamenjano kamera slike Ko berete črtne kode, preberi\u2026 + Išči po državi Poskusite pridobiti več informacij o vsebini črtne kode Naloži Več info Vibriraj diff --git a/android/res/values-sv/strings.xml b/android/res/values-sv/strings.xml index 05ca72e99..ccc759e41 100644 --- a/android/res/values-sv/strings.xml +++ b/android/res/values-sv/strings.xml @@ -118,6 +118,7 @@ Aktivera på enheter med en främre kamera Återförda kamerabilden När du skannar för streckkoder, avkoda\u2026 + Sök land Försök att hämta mer information om streckkoden innehåll Hämta mer info Vibrera diff --git a/android/res/values-tr/strings.xml b/android/res/values-tr/strings.xml index c2cf23843..4e78b2fb2 100644 --- a/android/res/values-tr/strings.xml +++ b/android/res/values-tr/strings.xml @@ -118,6 +118,7 @@ sadece bir ön kamera ile cihazlarda etkinleştirin Ters kamera görüntüsü Barkodlar taraması \u2026 + Arama Ülke Barkod içeriği hakkında daha fazla bilgi almayı dene Daha fazla bilgi Titreşim diff --git a/android/res/values-zh-rCN/strings.xml b/android/res/values-zh-rCN/strings.xml index 80b25a77b..d2d8284c6 100644 --- a/android/res/values-zh-rCN/strings.xml +++ b/android/res/values-zh-rCN/strings.xml @@ -118,6 +118,7 @@ 设备上启用了前置摄像头只 反转摄像机的图像 条码类型选择 + 搜索国家 尝试检索关于条码内容的更多信息 检索更多信息 振动 diff --git a/android/res/values-zh-rTW/strings.xml b/android/res/values-zh-rTW/strings.xml index 95d99604a..08565b76e 100644 --- a/android/res/values-zh-rTW/strings.xml +++ b/android/res/values-zh-rTW/strings.xml @@ -118,6 +118,7 @@ 如果您的設備上只有一個前置攝影機,請開啟此選項 反轉攝影機的圖像 當掃描條碼時 + 搜索國家 嘗試透過條碼搜尋更多的資訊 搜尋更多資訊 震動 diff --git a/android/res/values/arrays.xml b/android/res/values/arrays.xml new file mode 100644 index 000000000..f2528d5ce --- /dev/null +++ b/android/res/values/arrays.xml @@ -0,0 +1,35 @@ + + + + - + AR + AU + BR + BG + CA + CN + CZ + DE + DK + ES + FI + FR + GB + GR + HU + ID + IT + JP + KR + NL + PL + PT + RU + SE + SK + SI + TR + TW + US + + diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index a6629d1cb..8a54b9234 100755 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -118,6 +118,7 @@ Reversed camera image Result settings When scanning for barcodes, decode\u2026 + Search country Try to retrieve more information about the barcode contents Retrieve more info Vibrate diff --git a/android/res/xml/preferences.xml b/android/res/xml/preferences.xml index 53861c654..8307d8118 100755 --- a/android/res/xml/preferences.xml +++ b/android/res/xml/preferences.xml @@ -75,5 +75,11 @@ android:defaultValue="false" android:title="@string/preferences_reverse_image_title" android:summary="@string/preferences_reverse_image_summary"/> + diff --git a/android/src/com/google/zxing/client/android/LocaleManager.java b/android/src/com/google/zxing/client/android/LocaleManager.java index c7edbef88..95e506581 100644 --- a/android/src/com/google/zxing/client/android/LocaleManager.java +++ b/android/src/com/google/zxing/client/android/LocaleManager.java @@ -16,6 +16,10 @@ package com.google.zxing.client.android; +import android.content.Context; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; + import java.util.Arrays; import java.util.Collection; import java.util.Locale; @@ -118,24 +122,37 @@ public final class LocaleManager { * @return country-specific TLD suffix appropriate for the current default locale * (e.g. "co.uk" for the United Kingdom) */ - public static String getCountryTLD() { - return doGetTLD(GOOGLE_COUNTRY_TLD); + public static String getCountryTLD(Context context) { + return doGetTLD(GOOGLE_COUNTRY_TLD, context); } /** * The same as above, but specifically for Google Product Search. * @return The top-level domain to use. */ - public static String getProductSearchCountryTLD() { - return doGetTLD(GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD); + public static String getProductSearchCountryTLD(Context context) { + return doGetTLD(GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD, context); } /** * The same as above, but specifically for Google Book Search. * @return The top-level domain to use. */ - public static String getBookSearchCountryTLD() { - return doGetTLD(GOOGLE_BOOK_SEARCH_COUNTRY_TLD); + public static String getBookSearchCountryTLD(Context context) { + return doGetTLD(GOOGLE_BOOK_SEARCH_COUNTRY_TLD, context); + } + + private static String doGetTLD(Map map, Context context) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + String countryOverride = prefs.getString(PreferencesActivity.KEY_SEARCH_COUNTRY, null); + if (countryOverride != null && countryOverride.length() > 0 && !countryOverride.equals("-")) { + String tld = map.get(countryOverride); + if (tld != null) { + return tld; + } + } + String tld = map.get(COUNTRY); + return tld == null ? DEFAULT_TLD : tld; } /** diff --git a/android/src/com/google/zxing/client/android/PreferencesActivity.java b/android/src/com/google/zxing/client/android/PreferencesActivity.java index a3714bb1b..d9cc45c0b 100755 --- a/android/src/com/google/zxing/client/android/PreferencesActivity.java +++ b/android/src/com/google/zxing/client/android/PreferencesActivity.java @@ -47,6 +47,7 @@ public final class PreferencesActivity extends PreferenceActivity public static final String KEY_BULK_MODE = "preferences_bulk_mode"; public static final String KEY_REMEMBER_DUPLICATES = "preferences_remember_duplicates"; public static final String KEY_SUPPLEMENTAL = "preferences_supplemental"; + public static final String KEY_SEARCH_COUNTRY = "preferences_search_country"; public static final String KEY_HELP_VERSION_SHOWN = "preferences_help_version_shown"; public static final String KEY_NOT_OUR_RESULTS_SHOWN = "preferences_not_out_results_shown"; diff --git a/android/src/com/google/zxing/client/android/book/BrowseBookListener.java b/android/src/com/google/zxing/client/android/book/BrowseBookListener.java index b5b2fb7ad..5573f946e 100644 --- a/android/src/com/google/zxing/client/android/book/BrowseBookListener.java +++ b/android/src/com/google/zxing/client/android/book/BrowseBookListener.java @@ -47,7 +47,7 @@ final class BrowseBookListener implements AdapterView.OnItemClickListener { int equals = uri.indexOf('='); String volumeId = uri.substring(equals + 1); String readBookURI = "http://books.google." + - LocaleManager.getBookSearchCountryTLD() + + LocaleManager.getBookSearchCountryTLD(activity) + "/books?id=" + volumeId + "&pg=" + pageId + "&vq=" + query; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(readBookURI)); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); diff --git a/android/src/com/google/zxing/client/android/result/ResultHandler.java b/android/src/com/google/zxing/client/android/result/ResultHandler.java index 79a81356a..969835861 100644 --- a/android/src/com/google/zxing/client/android/result/ResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ResultHandler.java @@ -446,18 +446,18 @@ public abstract class ResultHandler { final void getDirections(double latitude, double longitude) { launchIntent(new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google." + - LocaleManager.getCountryTLD() + "/maps?f=d&daddr=" + latitude + ',' + longitude))); + LocaleManager.getCountryTLD(getActivity()) + "/maps?f=d&daddr=" + latitude + ',' + longitude))); } // Uses the mobile-specific version of Product Search, which is formatted for small screens. final void openProductSearch(String upc) { - Uri uri = Uri.parse("http://www.google." + LocaleManager.getProductSearchCountryTLD() + + Uri uri = Uri.parse("http://www.google." + LocaleManager.getProductSearchCountryTLD(getActivity()) + "/m/products?q=" + upc + "&source=zxing"); launchIntent(new Intent(Intent.ACTION_VIEW, uri)); } final void openBookSearch(String isbn) { - Uri uri = Uri.parse("http://books.google." + LocaleManager.getBookSearchCountryTLD() + + Uri uri = Uri.parse("http://books.google." + LocaleManager.getBookSearchCountryTLD(getActivity()) + "/books?vid=isbn" + isbn); launchIntent(new Intent(Intent.ACTION_VIEW, uri)); } diff --git a/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java b/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java index 9479e7d0a..fe566663f 100644 --- a/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java +++ b/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java @@ -40,11 +40,9 @@ import com.google.zxing.client.android.history.HistoryManager; */ public final class BookResultInfoRetriever extends SupplementalInfoRetriever { - private static final String BASE_BOOK_URI = - "http://www.google." + LocaleManager.getBookSearchCountryTLD() + "/search?tbm=bks&source=zxing&q="; - private final String isbn; private final String source; + private final Context context; BookResultInfoRetriever(TextView textView, String isbn, @@ -54,6 +52,7 @@ public final class BookResultInfoRetriever extends SupplementalInfoRetriever { super(textView, handler, historyManager); this.isbn = isbn; this.source = context.getString(R.string.msg_google_books); + this.context = context; } @Override @@ -122,7 +121,11 @@ public final class BookResultInfoRetriever extends SupplementalInfoRetriever { newTexts.add(pages + "pp."); } - append(isbn, source, newTexts.toArray(new String[newTexts.size()]), BASE_BOOK_URI + isbn); + + String baseBookUri = "http://www.google." + LocaleManager.getBookSearchCountryTLD(context) + + "/search?tbm=bks&source=zxing&q="; + + append(isbn, source, newTexts.toArray(new String[newTexts.size()]), baseBookUri + isbn); } } diff --git a/android/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java b/android/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java index 919d35192..0ded5c292 100644 --- a/android/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java +++ b/android/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java @@ -32,15 +32,13 @@ import java.util.regex.Pattern; final class ProductResultInfoRetriever extends SupplementalInfoRetriever { - private static final String BASE_PRODUCT_URI = - "http://www.google." + LocaleManager.getProductSearchCountryTLD() + - "/m/products?ie=utf8&oe=utf8&scoring=p&source=zxing&q="; private static final Pattern PRODUCT_NAME_PRICE_PATTERN = Pattern.compile("owb63p\">([^<]+).+zdi3pb\">([^<]+)"); private final String productID; private final String source; + private final Context context; ProductResultInfoRetriever(TextView textView, String productID, @@ -50,13 +48,15 @@ final class ProductResultInfoRetriever extends SupplementalInfoRetriever { super(textView, handler, historyManager); this.productID = productID; this.source = context.getString(R.string.msg_google_product); + this.context = context; } @Override void retrieveSupplementalInfo() throws IOException, InterruptedException { String encodedProductID = URLEncoder.encode(productID, "UTF-8"); - String uri = BASE_PRODUCT_URI + encodedProductID; + String uri = "http://www.google." + LocaleManager.getProductSearchCountryTLD(context) + + "/m/products?ie=utf8&oe=utf8&scoring=p&source=zxing&q=" + encodedProductID; String content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.HTML); Matcher matcher = PRODUCT_NAME_PRICE_PATTERN.matcher(content);