diff --git a/android/src/com/google/zxing/client/android/result/supplement/AmazonInfoRetriever.java b/android/src/com/google/zxing/client/android/result/supplement/AmazonInfoRetriever.java deleted file mode 100644 index fe64b3fba..000000000 --- a/android/src/com/google/zxing/client/android/result/supplement/AmazonInfoRetriever.java +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright 2013 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.zxing.client.android.result.supplement; - -import java.io.IOException; -import java.io.StringReader; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Locale; - -import android.content.Context; -import android.widget.TextView; -import com.google.zxing.client.android.HttpHelper; -import com.google.zxing.client.android.LocaleManager; -import com.google.zxing.client.android.history.HistoryManager; -import org.xmlpull.v1.XmlPullParser; -import org.xmlpull.v1.XmlPullParserException; -import org.xmlpull.v1.XmlPullParserFactory; - -/** - * @author Sean Owen - */ -final class AmazonInfoRetriever extends SupplementalInfoRetriever { - - private final String type; - private final String productID; - private final String country; - - AmazonInfoRetriever(TextView textView, - String type, - String productID, - HistoryManager historyManager, - Context context) { - super(textView, historyManager); - String country = LocaleManager.getCountry(context); - if ("ISBN".equals(type) && !Locale.US.getCountry().equals(country)) { - type = "EAN"; - } - this.type = type; - this.productID = productID; - this.country = country; - } - - @Override - void retrieveSupplementalInfo() throws IOException { - boolean success = doRetrieveForCountry(country); - if (!success && !"US".equals(country)) { - // Also show US results to expand scope of results - doRetrieveForCountry("US"); - } - } - - private boolean doRetrieveForCountry(String theCountry) throws IOException { - - CharSequence contents = - HttpHelper.downloadViaHttp("https://bsplus.srowen.com/ss?c=" + theCountry + "&t=" + type + "&i=" + productID, - HttpHelper.ContentType.XML); - - String detailPageURL = null; - Collection authors = new ArrayList<>(); - String title = null; - String formattedNewPrice = null; - String formattedUsedPrice = null; - boolean error = false; - - try { - XmlPullParser xpp = buildParser(contents); - - boolean seenItem = false; - boolean seenLowestNewPrice = false; - boolean seenLowestUsedPrice = false; - - boolean done = false; - for (int eventType = xpp.getEventType(); - !done && eventType != XmlPullParser.END_DOCUMENT; - eventType = xpp.next()) { - if (eventType == XmlPullParser.START_TAG) { - String name = xpp.getName(); - switch (name) { - case "Item": - if (seenItem) { - done = true; // terminates loop - } else { - seenItem = true; - } - break; - case "DetailPageURL": - assertTextNext(xpp); - detailPageURL = xpp.getText(); - break; - case "Author": - assertTextNext(xpp); - authors.add(xpp.getText()); - break; - case "Title": - assertTextNext(xpp); - title = xpp.getText(); - break; - case "LowestNewPrice": - seenLowestNewPrice = true; - seenLowestUsedPrice = false; - break; - case "LowestUsedPrice": - seenLowestNewPrice = false; - seenLowestUsedPrice = true; - break; - case "FormattedPrice": - if (seenLowestNewPrice || seenLowestUsedPrice) { - assertTextNext(xpp); - String theText = xpp.getText(); - if (seenLowestNewPrice) { - formattedNewPrice = theText; - } else { - formattedUsedPrice = theText; - } - seenLowestNewPrice = false; - seenLowestUsedPrice = false; - } - break; - case "Errors": - error = true; - done = true; // terminates loop - break; - } - } - } - - } catch (XmlPullParserException xppe) { - throw new IOException(xppe); - } - - if (error || detailPageURL == null) { - return false; - } - - Collection newTexts = new ArrayList<>(); - maybeAddText(title, newTexts); - maybeAddTextSeries(authors, newTexts); - if (formattedNewPrice != null) { - maybeAddText(formattedNewPrice, newTexts); - } else if (formattedUsedPrice != null) { - maybeAddText(formattedUsedPrice, newTexts); - } - - append(productID, "Amazon " + theCountry, newTexts.toArray(new String[newTexts.size()]), detailPageURL); - return true; - } - - private static void assertTextNext(XmlPullParser xpp) throws XmlPullParserException, IOException { - if (xpp.next() != XmlPullParser.TEXT) { - throw new IOException(); - } - } - - private static XmlPullParser buildParser(CharSequence contents) throws XmlPullParserException { - XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); - factory.setNamespaceAware(true); - XmlPullParser xpp = factory.newPullParser(); - xpp.setInput(new StringReader(contents.toString())); - return xpp; - } - -} diff --git a/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java b/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java index 8e6d772c1..787e7525e 100644 --- a/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java +++ b/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java @@ -59,18 +59,6 @@ public abstract class SupplementalInfoRetriever extends AsyncTask