Java Code Examples for com.google.zxing.client.android.HttpHelper#downloadViaHttp()

The following examples show how to use com.google.zxing.client.android.HttpHelper#downloadViaHttp() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TitleRetriever.java    From ZXing-Standalone-library with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() {
  CharSequence contents;
  try {
    contents = HttpHelper.downloadViaHttp(httpUrl, HttpHelper.ContentType.HTML, 4096);
  } catch (IOException ioe) {
    // ignore this
    return;
  }
  if (contents != null && contents.length() > 0) {
    Matcher m = TITLE_PATTERN.matcher(contents);
    if (m.find()) {
      String title = m.group(1);
      if (title != null && !title.isEmpty()) {
        title = Html.fromHtml(title).toString();
        if (title.length() > MAX_TITLE_LEN) {
          title = title.substring(0, MAX_TITLE_LEN) + "...";
        }
        append(httpUrl, null, new String[] {title}, httpUrl);
      }
    }
  }
}
 
Example 2
Source File: ProductResultInfoRetriever.java    From barcodescanner-lib-aar with MIT License 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  String encodedProductID = URLEncoder.encode(productID, "UTF-8");
  String uri = "https://www.google." + LocaleManager.getProductSearchCountryTLD(context)
          + "/m/products?ie=utf8&oe=utf8&scoring=p&source=zxing&q=" + encodedProductID;
  CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.HTML);

  for (Pattern p : PRODUCT_NAME_PRICE_PATTERNS) {
    Matcher matcher = p.matcher(content);
    if (matcher.find()) {
      append(productID,
             source,
             new String[] { unescapeHTML(matcher.group(1)), unescapeHTML(matcher.group(2)) },
             uri);
      break;
    }
  }
}
 
Example 3
Source File: SearchBookContentsActivity.java    From barcodescanner-lib-aar with MIT License 6 votes vote down vote up
@Override
protected JSONObject doInBackground(String... args) {
  try {
    // These return a JSON result which describes if and where the query was found. This API may
    // break or disappear at any time in the future. Since this is an API call rather than a
    // website, we don't use LocaleManager to change the TLD.
    String theQuery = args[0];
    String theIsbn = args[1];
    String uri;
    if (LocaleManager.isBookSearchUrl(theIsbn)) {
      int equals = theIsbn.indexOf('=');
      String volumeId = theIsbn.substring(equals + 1);
      uri = "http://www.google.com/books?id=" + volumeId + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    } else {
      uri = "http://www.google.com/books?vid=isbn" + theIsbn + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    }
    CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.JSON);
    return new JSONObject(content.toString());
  } catch (IOException ioe) {
    Log.w(TAG, "Error accessing book search", ioe);
    return null;
  } catch (JSONException je) {
    Log.w(TAG, "Error accessing book search", je);
    return null;
  }
}
 
Example 4
Source File: ProductResultInfoRetriever.java    From Study_Android_Demo with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  String encodedProductID = URLEncoder.encode(productID, "UTF-8");
  String uri = "https://www.google." + LocaleManager.getProductSearchCountryTLD(context)
          + "/m/products?ie=utf8&oe=utf8&scoring=p&source=zxing&q=" + encodedProductID;
  CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.HTML);

  for (Pattern p : PRODUCT_NAME_PRICE_PATTERNS) {
    Matcher matcher = p.matcher(content);
    if (matcher.find()) {
      append(productID,
             source,
             new String[] { unescapeHTML(matcher.group(1)), unescapeHTML(matcher.group(2)) },
             uri);
      break;
    }
  }
}
 
Example 5
Source File: TitleRetriever.java    From Study_Android_Demo with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() {
  CharSequence contents;
  try {
    contents = HttpHelper.downloadViaHttp(httpUrl, HttpHelper.ContentType.HTML, 4096);
  } catch (IOException ioe) {
    // ignore this
    return;
  }
  if (contents != null && contents.length() > 0) {
    Matcher m = TITLE_PATTERN.matcher(contents);
    if (m.find()) {
      String title = m.group(1);
      if (title != null && !title.isEmpty()) {
        title = Html.fromHtml(title).toString();
        if (title.length() > MAX_TITLE_LEN) {
          title = title.substring(0, MAX_TITLE_LEN) + "...";
        }
        append(httpUrl, null, new String[] {title}, httpUrl);
      }
    }
  }
}
 
Example 6
Source File: ProductResultInfoRetriever.java    From reacteu-app with MIT License 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  String encodedProductID = URLEncoder.encode(productID, "UTF-8");
  String uri = "http://www.google." + LocaleManager.getProductSearchCountryTLD(context)
          + "/m/products?ie=utf8&oe=utf8&scoring=p&source=zxing&q=" + encodedProductID;
  CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.HTML);

  for (Pattern p : PRODUCT_NAME_PRICE_PATTERNS) {
    Matcher matcher = p.matcher(content);
    if (matcher.find()) {
      append(productID,
             source,
             new String[] { unescapeHTML(matcher.group(1)), unescapeHTML(matcher.group(2)) },
             uri);
      break;
    }
  }
}
 
Example 7
Source File: ProductResultInfoRetriever.java    From weex with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  String encodedProductID = URLEncoder.encode(productID, "UTF-8");
  String uri = "https://www.google." + LocaleManager.getProductSearchCountryTLD(context)
          + "/m/products?ie=utf8&oe=utf8&scoring=p&source=zxing&q=" + encodedProductID;
  CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.HTML);

  for (Pattern p : PRODUCT_NAME_PRICE_PATTERNS) {
    Matcher matcher = p.matcher(content);
    if (matcher.find()) {
      append(productID,
             source,
             new String[] { unescapeHTML(matcher.group(1)), unescapeHTML(matcher.group(2)) },
             uri);
      break;
    }
  }
}
 
Example 8
Source File: TitleRetriever.java    From weex with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() {
  CharSequence contents;
  try {
    contents = HttpHelper.downloadViaHttp(httpUrl, HttpHelper.ContentType.HTML, 4096);
  } catch (IOException ioe) {
    // ignore this
    return;
  }
  if (contents != null && contents.length() > 0) {
    Matcher m = TITLE_PATTERN.matcher(contents);
    if (m.find()) {
      String title = m.group(1);
      if (title != null && !title.isEmpty()) {
        title = Html.fromHtml(title).toString();
        if (title.length() > MAX_TITLE_LEN) {
          title = title.substring(0, MAX_TITLE_LEN) + "...";
        }
        append(httpUrl, null, new String[] {title}, httpUrl);
      }
    }
  }
}
 
Example 9
Source File: SearchBookContentsActivity.java    From weex with Apache License 2.0 6 votes vote down vote up
@Override
protected JSONObject doInBackground(String... args) {
  try {
    // These return a JSON result which describes if and where the query was found. This API may
    // break or disappear at any time in the future. Since this is an API call rather than a
    // website, we don't use LocaleManager to change the TLD.
    String theQuery = args[0];
    String theIsbn = args[1];
    String uri;
    if (LocaleManager.isBookSearchUrl(theIsbn)) {
      int equals = theIsbn.indexOf('=');
      String volumeId = theIsbn.substring(equals + 1);
      uri = "http://www.google.com/books?id=" + volumeId + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    } else {
      uri = "http://www.google.com/books?vid=isbn" + theIsbn + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    }
    CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.JSON);
    return new JSONObject(content.toString());
  } catch (IOException ioe) {
    Log.w(TAG, "Error accessing book search", ioe);
    return null;
  } catch (JSONException je) {
    Log.w(TAG, "Error accessing book search", je);
    return null;
  }
}
 
Example 10
Source File: TitleRetriever.java    From zxingfragmentlib with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() {
  CharSequence contents;
  try {
    contents = HttpHelper.downloadViaHttp(httpUrl, HttpHelper.ContentType.HTML, 4096);
  } catch (IOException ioe) {
    // ignore this
    return;
  }
  if (contents != null && contents.length() > 0) {
    Matcher m = TITLE_PATTERN.matcher(contents);
    if (m.find()) {
      String title = m.group(1);
      if (title != null && !title.isEmpty()) {
        if (title.length() > MAX_TITLE_LEN) {
          title = title.substring(0, MAX_TITLE_LEN) + "...";
        }
        append(httpUrl, null, new String[] {title}, httpUrl);
      }
    }
  }
}
 
Example 11
Source File: ProductResultInfoRetriever.java    From android-apps with MIT License 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException, InterruptedException {

  String encodedProductID = URLEncoder.encode(productID, "UTF-8");
  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);
  if (matcher.find()) {
    append(productID,
           source,
           new String[] { unescapeHTML(matcher.group(1)), unescapeHTML(matcher.group(2)) },
           uri);
  }
}
 
Example 12
Source File: TitleRetriever.java    From analyzer-of-android-for-Apache-Weex with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() {
  CharSequence contents;
  try {
    contents = HttpHelper.downloadViaHttp(httpUrl, HttpHelper.ContentType.HTML, 4096);
  } catch (IOException ioe) {
    // ignore this
    return;
  }
  if (contents != null && contents.length() > 0) {
    Matcher m = TITLE_PATTERN.matcher(contents);
    if (m.find()) {
      String title = m.group(1);
      if (title != null && !title.isEmpty()) {
        title = Html.fromHtml(title).toString();
        if (title.length() > MAX_TITLE_LEN) {
          title = title.substring(0, MAX_TITLE_LEN) + "...";
        }
        append(httpUrl, null, new String[] {title}, httpUrl);
      }
    }
  }
}
 
Example 13
Source File: SearchBookContentsActivity.java    From analyzer-of-android-for-Apache-Weex with Apache License 2.0 6 votes vote down vote up
@Override
protected JSONObject doInBackground(String... args) {
  try {
    // These return a JSON result which describes if and where the query was found. This API may
    // break or disappear at any time in the future. Since this is an API call rather than a
    // website, we don't use LocaleManager to change the TLD.
    String theQuery = args[0];
    String theIsbn = args[1];
    String uri;
    if (LocaleManager.isBookSearchUrl(theIsbn)) {
      int equals = theIsbn.indexOf('=');
      String volumeId = theIsbn.substring(equals + 1);
      uri = "http://www.google.com/books?id=" + volumeId + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    } else {
      uri = "http://www.google.com/books?vid=isbn" + theIsbn + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    }
    CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.JSON);
    return new JSONObject(content.toString());
  } catch (IOException ioe) {
    Log.w(TAG, "Error accessing book search", ioe);
    return null;
  } catch (JSONException je) {
    Log.w(TAG, "Error accessing book search", je);
    return null;
  }
}
 
Example 14
Source File: SearchBookContentsActivity.java    From reacteu-app with MIT License 6 votes vote down vote up
@Override
protected JSONObject doInBackground(String... args) {
  try {
    // These return a JSON result which describes if and where the query was found. This API may
    // break or disappear at any time in the future. Since this is an API call rather than a
    // website, we don't use LocaleManager to change the TLD.
    String theQuery = args[0];
    String theIsbn = args[1];
    String uri;
    if (LocaleManager.isBookSearchUrl(theIsbn)) {
      int equals = theIsbn.indexOf('=');
      String volumeId = theIsbn.substring(equals + 1);
      uri = "http://www.google.com/books?id=" + volumeId + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    } else {
      uri = "http://www.google.com/books?vid=isbn" + theIsbn + "&jscmd=SearchWithinVolume2&q=" + theQuery;
    }
    CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.JSON);
    return new JSONObject(content.toString());
  } catch (IOException ioe) {
    Log.w(TAG, "Error accessing book search", ioe);
    return null;
  } catch (JSONException je) {
    Log.w(TAG, "Error accessing book search", je);
    return null;
  }
}
 
Example 15
Source File: ProductResultInfoRetriever.java    From zxingfragmentlib with Apache License 2.0 6 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  String encodedProductID = URLEncoder.encode(productID, "UTF-8");
  String uri = "https://www.google." + LocaleManager.getProductSearchCountryTLD(context)
          + "/m/products?ie=utf8&oe=utf8&scoring=p&source=zxing&q=" + encodedProductID;
  CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.HTML);

  for (Pattern p : PRODUCT_NAME_PRICE_PATTERNS) {
    Matcher matcher = p.matcher(content);
    if (matcher.find()) {
      append(productID,
             source,
             new String[] { unescapeHTML(matcher.group(1)), unescapeHTML(matcher.group(2)) },
             uri);
      break;
    }
  }
}
 
Example 16
Source File: BookResultInfoRetriever.java    From weex with Apache License 2.0 4 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  CharSequence contents = HttpHelper.downloadViaHttp("https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn,
                                                     HttpHelper.ContentType.JSON);

  if (contents.length() == 0) {
    return;
  }

  String title;
  String pages;
  Collection<String> authors = null;

  try {

    JSONObject topLevel = (JSONObject) new JSONTokener(contents.toString()).nextValue();
    JSONArray items = topLevel.optJSONArray("items");
    if (items == null || items.isNull(0)) {
      return;
    }

    JSONObject volumeInfo = ((JSONObject) items.get(0)).getJSONObject("volumeInfo");
    if (volumeInfo == null) {
      return;
    }

    title = volumeInfo.optString("title");
    pages = volumeInfo.optString("pageCount");

    JSONArray authorsArray = volumeInfo.optJSONArray("authors");
    if (authorsArray != null && !authorsArray.isNull(0)) {
      authors = new ArrayList<>(authorsArray.length());
      for (int i = 0; i < authorsArray.length(); i++) {
        authors.add(authorsArray.getString(i));
      }
    }

  } catch (JSONException e) {
    throw new IOException(e);
  }

  Collection<String> newTexts = new ArrayList<>();
  maybeAddText(title, newTexts);
  maybeAddTextSeries(authors, newTexts);
  maybeAddText(pages == null || pages.isEmpty() ? null : pages + "pp.", newTexts);
  
  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);
}
 
Example 17
Source File: BookResultInfoRetriever.java    From ZXing-Standalone-library with Apache License 2.0 4 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  CharSequence contents = HttpHelper.downloadViaHttp("https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn,
                                                     HttpHelper.ContentType.JSON);

  if (contents.length() == 0) {
    return;
  }

  String title;
  String pages;
  Collection<String> authors = null;

  try {

    JSONObject topLevel = (JSONObject) new JSONTokener(contents.toString()).nextValue();
    JSONArray items = topLevel.optJSONArray("items");
    if (items == null || items.isNull(0)) {
      return;
    }

    JSONObject volumeInfo = ((JSONObject) items.get(0)).getJSONObject("volumeInfo");
    if (volumeInfo == null) {
      return;
    }

    title = volumeInfo.optString("title");
    pages = volumeInfo.optString("pageCount");

    JSONArray authorsArray = volumeInfo.optJSONArray("authors");
    if (authorsArray != null && !authorsArray.isNull(0)) {
      authors = new ArrayList<>(authorsArray.length());
      for (int i = 0; i < authorsArray.length(); i++) {
        authors.add(authorsArray.getString(i));
      }
    }

  } catch (JSONException e) {
    throw new IOException(e);
  }

  Collection<String> newTexts = new ArrayList<>();
  maybeAddText(title, newTexts);
  maybeAddTextSeries(authors, newTexts);
  maybeAddText(pages == null || pages.isEmpty() ? null : pages + "pp.", newTexts);
  
  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);
}
 
Example 18
Source File: BookResultInfoRetriever.java    From Study_Android_Demo with Apache License 2.0 4 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  CharSequence contents = HttpHelper.downloadViaHttp("https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn,
                                                     HttpHelper.ContentType.JSON);

  if (contents.length() == 0) {
    return;
  }

  String title;
  String pages;
  Collection<String> authors = null;

  try {

    JSONObject topLevel = (JSONObject) new JSONTokener(contents.toString()).nextValue();
    JSONArray items = topLevel.optJSONArray("items");
    if (items == null || items.isNull(0)) {
      return;
    }

    JSONObject volumeInfo = ((JSONObject) items.get(0)).getJSONObject("volumeInfo");
    if (volumeInfo == null) {
      return;
    }

    title = volumeInfo.optString("title");
    pages = volumeInfo.optString("pageCount");

    JSONArray authorsArray = volumeInfo.optJSONArray("authors");
    if (authorsArray != null && !authorsArray.isNull(0)) {
      authors = new ArrayList<>(authorsArray.length());
      for (int i = 0; i < authorsArray.length(); i++) {
        authors.add(authorsArray.getString(i));
      }
    }

  } catch (JSONException e) {
    throw new IOException(e);
  }

  Collection<String> newTexts = new ArrayList<>();
  maybeAddText(title, newTexts);
  maybeAddTextSeries(authors, newTexts);
  maybeAddText(pages == null || pages.isEmpty() ? null : pages + "pp.", newTexts);
  
  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);
}
 
Example 19
Source File: BookResultInfoRetriever.java    From zxingfragmentlib with Apache License 2.0 4 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  CharSequence contents = HttpHelper.downloadViaHttp("https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn,
                                                     HttpHelper.ContentType.JSON);

  if (contents.length() == 0) {
    return;
  }

  String title;
  String pages;
  Collection<String> authors = null;

  try {

    JSONObject topLevel = (JSONObject) new JSONTokener(contents.toString()).nextValue();
    JSONArray items = topLevel.optJSONArray("items");
    if (items == null || items.isNull(0)) {
      return;
    }

    JSONObject volumeInfo = ((JSONObject) items.get(0)).getJSONObject("volumeInfo");
    if (volumeInfo == null) {
      return;
    }

    title = volumeInfo.optString("title");
    pages = volumeInfo.optString("pageCount");

    JSONArray authorsArray = volumeInfo.optJSONArray("authors");
    if (authorsArray != null && !authorsArray.isNull(0)) {
      authors = new ArrayList<>(authorsArray.length());
      for (int i = 0; i < authorsArray.length(); i++) {
        authors.add(authorsArray.getString(i));
      }
    }

  } catch (JSONException e) {
    throw new IOException(e);
  }

  Collection<String> newTexts = new ArrayList<>();
  maybeAddText(title, newTexts);
  maybeAddTextSeries(authors, newTexts);
  maybeAddText(pages == null || pages.isEmpty() ? null : pages + "pp.", newTexts);
  
  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);
}
 
Example 20
Source File: BookResultInfoRetriever.java    From barcodescanner-lib-aar with MIT License 4 votes vote down vote up
@Override
void retrieveSupplementalInfo() throws IOException {

  CharSequence contents = HttpHelper.downloadViaHttp("https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn,
                                                     HttpHelper.ContentType.JSON);

  if (contents.length() == 0) {
    return;
  }

  String title;
  String pages;
  Collection<String> authors = null;

  try {

    JSONObject topLevel = (JSONObject) new JSONTokener(contents.toString()).nextValue();
    JSONArray items = topLevel.optJSONArray("items");
    if (items == null || items.isNull(0)) {
      return;
    }

    JSONObject volumeInfo = ((JSONObject) items.get(0)).getJSONObject("volumeInfo");
    if (volumeInfo == null) {
      return;
    }

    title = volumeInfo.optString("title");
    pages = volumeInfo.optString("pageCount");

    JSONArray authorsArray = volumeInfo.optJSONArray("authors");
    if (authorsArray != null && !authorsArray.isNull(0)) {
      authors = new ArrayList<>(authorsArray.length());
      for (int i = 0; i < authorsArray.length(); i++) {
        authors.add(authorsArray.getString(i));
      }
    }

  } catch (JSONException e) {
    throw new IOException(e);
  }

  Collection<String> newTexts = new ArrayList<>();
  maybeAddText(title, newTexts);
  maybeAddTextSeries(authors, newTexts);
  maybeAddText(pages == null || pages.isEmpty() ? null : pages + "pp.", newTexts);
  
  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);
}