From df9df215c09a6787961d0200de2638d169991af4 Mon Sep 17 00:00:00 2001 From: srowen Date: Fri, 18 Jun 2010 12:58:57 +0000 Subject: [PATCH] Issues 155.2 -- add %f for format git-svn-id: http://zxing.googlecode.com/svn/trunk@1445 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- android/res/values-cs/strings.xml | 4 ++-- android/res/values-da/strings.xml | 4 ++-- android/res/values-de/strings.xml | 4 ++-- android/res/values-es/strings.xml | 4 ++-- android/res/values-fi/strings.xml | 4 ++-- android/res/values-fr/strings.xml | 4 ++-- android/res/values-hu/strings.xml | 4 ++-- android/res/values-it/strings.xml | 4 ++-- android/res/values-nl/strings.xml | 4 ++-- android/res/values-pl/strings.xml | 4 ++-- android/res/values-pt/strings.xml | 4 ++-- android/res/values-ru/strings.xml | 4 ++-- android/res/values-sv/strings.xml | 4 ++-- android/res/values/strings.xml | 4 ++-- .../android/result/ISBNResultHandler.java | 15 +++++------- .../android/result/ProductResultHandler.java | 13 ++++------ .../client/android/result/ResultHandler.java | 24 ++++++++++++++++++- .../android/result/ResultHandlerFactory.java | 4 ++-- .../android/result/TextResultHandler.java | 8 ++----- 19 files changed, 66 insertions(+), 54 deletions(-) diff --git a/android/res/values-cs/strings.xml b/android/res/values-cs/strings.xml index 1652d4fa..86532669 100644 --- a/android/res/values-cs/strings.xml +++ b/android/res/values-cs/strings.xml @@ -94,11 +94,11 @@ Skenování a ušetřit mnoho čárových kódů nepřetržitě Bulk režimu skenování Kopírovat do schránky. - Použít % jako zástupný symbol pro ID produktu + Použijte %s jako zástupný symbol pro ID produktu, a %f pro formát Vlastní vyhledávání URL. Dekódovat 1D kódy Dekódovat QR kódy - Povolte přední světlo, pokud je k dispozici + Zlepšuje skenování při slabém osvětlení na některých telefonech, ale může způsobit oslnění. Nefunguje na všech telefonech. Přední světla Hlavní nastavení Nastavení diff --git a/android/res/values-da/strings.xml b/android/res/values-da/strings.xml index 9c728d75..f5235cb5 100644 --- a/android/res/values-da/strings.xml +++ b/android/res/values-da/strings.xml @@ -94,11 +94,11 @@ Scan og spare mange stregkoder kontinuerligt Bulk scanningstilstand Kopiér til udklipsholder - Use %s as a placeholder for the product ID + Brug %s som en pladsholder for produkt-id, og %f for format Brugerdefineret søge URL Oversæt 1D stregkoder Oversæt QR Koder - Forbedrer scanning i svagt lys på nogle telefoner, men kan forårsage blænding. + Forbedrer scanning i svagt lys på nogle telefoner, men kan forårsage blænding. Virker ikke på alle telefoner. Brug frontlys Generelle indstillinger Indstillinger diff --git a/android/res/values-de/strings.xml b/android/res/values-de/strings.xml index 5bf7d500..204c94fb 100644 --- a/android/res/values-de/strings.xml +++ b/android/res/values-de/strings.xml @@ -94,11 +94,11 @@ Scannen und speichern viele Barcodes kontinuierlich Bulk-Scan-Modus In Zwischenablage kopieren - Verwenden Sie %s als Platzhalter für die Produkt-ID + Verwenden Sie %s als Platzhalter für die Produkt-ID und %f für die Format Eigene Such-URL Dekodiere 1D Barcodes Dekodiere QR Codes - Aktivieren Sie vor Licht, wenn verfügbar + Erhöht Scannen bei schwachem Licht bei einigen Mobiltelefonen, kann aber Blendung verursachen. Funktioniert nicht auf allen Handys funktionieren. Vor Licht Allgemeine Einstellungen Einstellungen diff --git a/android/res/values-es/strings.xml b/android/res/values-es/strings.xml index 82f19b26..67110284 100644 --- a/android/res/values-es/strings.xml +++ b/android/res/values-es/strings.xml @@ -94,11 +94,11 @@ Escanear y guardar muchos códigos de barras de forma continua Bulk modo de exploración Copiar al portapapeles - Usar %s como un marcador de posición para el identificador de producto + Use %s como un marcador de posición para el identificador del producto, y %f para el formato Búsqueda de productos con URL personalizada Descodificar códigos de barras 1D Descodificar códigos QR - Activar luz delantera si está disponible + Activar luz delantera si está disponible, pero puede causar deslumbramiento. No funciona en todos los teléfonos. Luz delantera Configuración general Configuración diff --git a/android/res/values-fi/strings.xml b/android/res/values-fi/strings.xml index f6dde5a7..975b7664 100644 --- a/android/res/values-fi/strings.xml +++ b/android/res/values-fi/strings.xml @@ -94,11 +94,11 @@ Skannaa ja tallenna monet viivakoodeja jatkuvasti Bulk skannaustilassa Kopioi leikepöydälle - Käytä %s paikkana tuotetunnukselle + Käytä %s paikkana tuotetunnukselle tunnus ja %f muoto Mukautettu hakukone Dekoodaa 1D viivakoodeja Dekoodaa QR koodeja - Activoi valo edessä, jos käytettävissä + Activoi valo edessä, jos käytettävissä, mutta saattaa aiheuttaa häikäisyä. Ei toimi kaikissa puhelimissa. Valo edessä Yleiset asetukset Asetukset diff --git a/android/res/values-fr/strings.xml b/android/res/values-fr/strings.xml index 98dcf25f..e8582fb9 100644 --- a/android/res/values-fr/strings.xml +++ b/android/res/values-fr/strings.xml @@ -94,11 +94,11 @@ codes à barres de numérisation et de sauver de nombreuses continu En vrac mode de balayage Copier dans le presse papier - Utiliser %s à la place de l\'identifiant du produit + Utiliser %s à la place de l\'identifiant du produit, et %f pour le format URL personnalisée de recherche Décoder les codes barres 1D Décoder les codes QR - Activer phare avant si disponible + Activer phare avant si disponible, mais peut provoquer des reflets. Ne fonctionne pas sur tous les téléphones. Phare avant Paramètres généraux Paramètres diff --git a/android/res/values-hu/strings.xml b/android/res/values-hu/strings.xml index c30c0712..a2f6a4a7 100644 --- a/android/res/values-hu/strings.xml +++ b/android/res/values-hu/strings.xml @@ -94,11 +94,11 @@ Beolvasni és elmenteni több vonalkód folyamatosan Tömeges scan üzemmód Másolás a vágólapra - Használja a %s helyktöltést a termék azonosító helyén + Használja a %s helyktöltést a termék azonosító helyén, és %f esetében formátum Egyedi keresés URL 1D vonalkódok megfejtése QR-kódok megfejtése - Javítja a szkennelést kevés fény mellett néhány telefonon, de csillogást okozhat + Javítja a szkennelést kevés fény mellett néhány telefonon, de csillogást okozhat. Nem működik a telefon minden. Elülső lámpa használata Általános beállítások Beállítások diff --git a/android/res/values-it/strings.xml b/android/res/values-it/strings.xml index f1252252..54ac0703 100644 --- a/android/res/values-it/strings.xml +++ b/android/res/values-it/strings.xml @@ -94,11 +94,11 @@ scansione di codici a barre e salvare molte continuamente Bulk modalità di scansione Copia negli appunti - Utilizza %s come segnaposto per l\'ID del prodotto + Utilizza %s come segnaposto per l\'ID del prodotto, e per il formato %f URL ricerca prodotto personalizzata Decodifica codice a barre 1D Decodifica codici QR - Consentire la luce anteriore, se disponibile + Consentire la luce anteriore, se disponibile, ma può provocare abbagliamento. Non funziona su tutti i telefoni. Luce anteriore Impostazioni generali Impostazioni diff --git a/android/res/values-nl/strings.xml b/android/res/values-nl/strings.xml index cbdd82a1..63972931 100644 --- a/android/res/values-nl/strings.xml +++ b/android/res/values-nl/strings.xml @@ -94,11 +94,11 @@ Scannen en opslaan vele barcodes continu Bulk scan mode Kopieer naar plakbord - Gebruik %s voor de plaats van het product ID + Gebruik %s voor de plaats van het product ID en %f voor formaat Zoek aangepaste URL Decodeer 1D barcodes Decodeer QR codes - Inschakelen voorzijde licht, indien beschikbaar + Inschakelen voorzijde licht, indien beschikbaar, maar kan leiden tot verblinding. Werkt niet op alle telefoons. Voorzijde licht Basisinstellingen Instellingen diff --git a/android/res/values-pl/strings.xml b/android/res/values-pl/strings.xml index cfdba673..3be4e14e 100644 --- a/android/res/values-pl/strings.xml +++ b/android/res/values-pl/strings.xml @@ -94,11 +94,11 @@ Skanowanie i zapisywanie wielu kodów kreskowych ciągle Luzem tryb skanowania Kopiuj do schowka - Użyj %s jako zamiennik dla ID produktu + Użyj %s jako zamiennik dla ID produktu, a dla formatu %f Własny URL wyszukiwania Dekoduj kody 1D Dekoduj kody QR - Polepsza skanowanie przy małej ilości światła w niektórych telefonach, ale może powodować odbłysk + Polepsza skanowanie przy małej ilości światła w niektórych telefonach, ale może powodować odbłysk. Nie działa na wszystkich telefonach. Używaj lampy frontowej Ustawienia ogólne Ustawienia diff --git a/android/res/values-pt/strings.xml b/android/res/values-pt/strings.xml index c25ac16a..39c965b5 100644 --- a/android/res/values-pt/strings.xml +++ b/android/res/values-pt/strings.xml @@ -94,11 +94,11 @@ Digitalizar e salvar muitas barras continuamente Bulk modo de digitalização Copiar para a área de transferência - Usar %s como marcador de posição para o ID do produto + Use %s como um espaço reservado para a identificação do produto, e para o formato %f URL de pesquisa personalizada Descodificar código de barras 1D Descodificar códigos QR - Melhora a digitalização em baixa luminosidade em alguns aparelhos, mas pode causar ofuscamento + Melhora a digitalização em baixa luminosidade em alguns aparelhos, mas pode causar ofuscamento. Não funciona em todos os telefones. Use a luz da frente Definições Gerais Definições diff --git a/android/res/values-ru/strings.xml b/android/res/values-ru/strings.xml index 00e98b67..9e250247 100644 --- a/android/res/values-ru/strings.xml +++ b/android/res/values-ru/strings.xml @@ -94,11 +94,11 @@ Сканировать и сохранить многие штрих-кодов постоянно Массовое сканирование Копировать в буфер обмена - %s будет заменён на ID товара + %s будет заменён на ID товара, и %f для формата URL пользовательского поиска Распознавать линейные штрих-коды Распознавать QR-коды - Включите свет, если передние доступно + Включите свет, если передние доступно. Не работает на всех телефонах. Передние омыватели Общие настройки Настройки diff --git a/android/res/values-sv/strings.xml b/android/res/values-sv/strings.xml index 7da81fac..1175da20 100644 --- a/android/res/values-sv/strings.xml +++ b/android/res/values-sv/strings.xml @@ -94,11 +94,11 @@ Skanna och spara många streckkoder kontinuerligt Bulk skanningsläget Kopiera till klippbordet - Skriv %s där produktens ID ska placeras + Skriv %s där produktens ID ska placeras, och %f för format Anpassad sök-URL Avkoda 1D steckkod Avkoda QR-koder - Aktivera ljuset framför, om det finns + Aktivera ljuset framför, om det finns. Fungerar inte på alla telefoner. Ljuset framför Grundläggande installningar Inställningar diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index eab75abc..81efca1c 100755 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -94,11 +94,11 @@ Scan and save many barcodes continuously Bulk scan mode Copy to clipboard - Use %s as a placeholder for the product ID + Use %s as a placeholder for the product ID, and %f for format Custom search URL Decode 1D barcodes Decode QR Codes - Improves scanning in low light on some phones, but may cause glare + Improves scanning in low light on some phones, but may cause glare. Does not work on all phones. Use front light General settings Settings diff --git a/android/src/com/google/zxing/client/android/result/ISBNResultHandler.java b/android/src/com/google/zxing/client/android/result/ISBNResultHandler.java index bf3ec78f..c492a1ce 100644 --- a/android/src/com/google/zxing/client/android/result/ISBNResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ISBNResultHandler.java @@ -16,6 +16,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.ISBNParsedResult; import com.google.zxing.client.result.ParsedResult; @@ -37,11 +38,8 @@ public final class ISBNResultHandler extends ResultHandler { R.string.button_google_shopper }; - private final String customProductSearch; - - public ISBNResultHandler(Activity activity, ParsedResult result) { - super(activity, result); - customProductSearch = parseCustomSearchURL(); + public ISBNResultHandler(Activity activity, ParsedResult result, Result rawResult) { + super(activity, result, rawResult); } @Override @@ -52,7 +50,7 @@ public final class ISBNResultHandler extends ResultHandler { @Override public int getButtonText(int index) { - if (index == buttons.length - 1 && customProductSearch != null) { + if (index == buttons.length - 1 && hasCustomProductSearch()) { return R.string.button_custom_product_search; } return buttons[index]; @@ -74,9 +72,8 @@ public final class ISBNResultHandler extends ResultHandler { searchBookContents(isbnResult.getISBN()); break; case 3: - if (customProductSearch != null) { - String url = customProductSearch.replace("%s", isbnResult.getISBN()); - openURL(url); + if (hasCustomProductSearch()) { + openURL(fillInCustomSearchURL(isbnResult.getISBN())); } else { openGoogleShopper(isbnResult.getISBN()); } 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 7ad14d35..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,6 +16,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.ParsedResult; import com.google.zxing.client.result.ProductParsedResult; @@ -37,16 +38,13 @@ public final class ProductResultHandler extends ResultHandler { R.string.button_custom_product_search, }; - private final String customProductSearch; - - public ProductResultHandler(Activity activity, ParsedResult result) { - super(activity, result); - customProductSearch = parseCustomSearchURL(); + 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 @@ -70,8 +68,7 @@ public final class ProductResultHandler extends ResultHandler { openGoogleShopper(productResult.getNormalizedProductID()); break; case 3: - String url = customProductSearch.replace("%s", productResult.getNormalizedProductID()); - openURL(url); + openURL(fillInCustomSearchURL(productResult.getNormalizedProductID())); break; } } 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 5f0f28f7..db9e2352 100644 --- a/android/src/com/google/zxing/client/android/result/ResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ResultHandler.java @@ -16,6 +16,7 @@ package com.google.zxing.client.android.result; +import com.google.zxing.Result; import com.google.zxing.client.android.Contents; import com.google.zxing.client.android.Intents; import com.google.zxing.client.android.LocaleManager; @@ -71,6 +72,8 @@ public abstract class ResultHandler { private final ParsedResult result; private final Activity activity; + private final Result rawResult; + private final String customProductSearch; private final DialogInterface.OnClickListener shopperMarketListener = new DialogInterface.OnClickListener() { @@ -81,14 +84,24 @@ public abstract class ResultHandler { }; ResultHandler(Activity activity, ParsedResult result) { + this(activity, result, null); + } + + ResultHandler(Activity activity, ParsedResult result, Result rawResult) { this.result = result; this.activity = activity; + this.rawResult = rawResult; + this.customProductSearch = parseCustomSearchURL(); } ParsedResult getResult() { return result; } + boolean hasCustomProductSearch() { + return customProductSearch != null; + } + /** * Indicates how many buttons the derived class wants shown. * @@ -398,7 +411,7 @@ public abstract class ResultHandler { } } - protected String parseCustomSearchURL() { + private String parseCustomSearchURL() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity); String customProductSearch = prefs.getString(PreferencesActivity.KEY_CUSTOM_PRODUCT_SEARCH, null); if (customProductSearch != null && customProductSearch.trim().length() == 0) { @@ -406,4 +419,13 @@ public abstract class ResultHandler { } return customProductSearch; } + + String fillInCustomSearchURL(String text) { + String url = customProductSearch.replace("%s", text); + if (rawResult != null) { + url = url.replace("%f", rawResult.getBarcodeFormat().toString()); + } + return url; + } + } \ No newline at end of file diff --git a/android/src/com/google/zxing/client/android/result/ResultHandlerFactory.java b/android/src/com/google/zxing/client/android/result/ResultHandlerFactory.java index 933ac6a9..2df5cf18 100644 --- a/android/src/com/google/zxing/client/android/result/ResultHandlerFactory.java +++ b/android/src/com/google/zxing/client/android/result/ResultHandlerFactory.java @@ -40,7 +40,7 @@ public final class ResultHandlerFactory { } else if (type.equals(ParsedResultType.EMAIL_ADDRESS)) { return new EmailAddressResultHandler(activity, result); } else if (type.equals(ParsedResultType.PRODUCT)) { - return new ProductResultHandler(activity, result); + return new ProductResultHandler(activity, result, rawResult); } else if (type.equals(ParsedResultType.URI)) { return new URIResultHandler(activity, result); } else if (type.equals(ParsedResultType.WIFI)) { @@ -56,7 +56,7 @@ public final class ResultHandlerFactory { } else if (type.equals(ParsedResultType.CALENDAR)) { return new CalendarResultHandler(activity, result); } else if (type.equals(ParsedResultType.ISBN)) { - return new ISBNResultHandler(activity, result); + return new ISBNResultHandler(activity, result, rawResult); } else { // The TextResultHandler is the fallthrough for unsupported formats. return new TextResultHandler(activity, result); diff --git a/android/src/com/google/zxing/client/android/result/TextResultHandler.java b/android/src/com/google/zxing/client/android/result/TextResultHandler.java index 0a477304..83153421 100644 --- a/android/src/com/google/zxing/client/android/result/TextResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/TextResultHandler.java @@ -35,16 +35,13 @@ public final class TextResultHandler extends ResultHandler { R.string.button_custom_product_search, }; - private final String customProductSearch; - public TextResultHandler(Activity activity, ParsedResult result) { super(activity, result); - customProductSearch = parseCustomSearchURL(); } @Override public int getButtonCount() { - return customProductSearch != null ? buttons.length : buttons.length - 1; + return hasCustomProductSearch() ? buttons.length : buttons.length - 1; } @Override @@ -66,8 +63,7 @@ public final class TextResultHandler extends ResultHandler { shareBySMS(text); break; case 3: - String url = customProductSearch.replace("%s", text); - openURL(url); + openURL(fillInCustomSearchURL(text)); break; } } -- 2.20.1