1 package com.folioreader.ui.base;
3 import android.os.AsyncTask;
4 import android.util.Log;
6 import com.folioreader.util.AppUtil;
8 import java.io.BufferedReader;
9 import java.io.IOException;
10 import java.io.InputStream;
11 import java.io.InputStreamReader;
13 import java.net.URLConnection;
16 * Background async task which downloads the html content of a web page
19 * @author by gautam on 12/6/17.
22 public class HtmlTask extends AsyncTask<String, Void, String> {
24 private static final String TAG = "HtmlTask";
26 private HtmlTaskCallback callback;
28 public HtmlTask(HtmlTaskCallback callback) {
29 this.callback = callback;
33 protected String doInBackground(String... urls) {
34 String strUrl = urls[0];
36 URL url = new URL(strUrl);
37 URLConnection urlConnection = url.openConnection();
38 InputStream inputStream = urlConnection.getInputStream();
39 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, AppUtil.charsetNameForURLConnection(urlConnection)));
40 StringBuilder stringBuilder = new StringBuilder();
42 while ((line = bufferedReader.readLine()) != null) {
43 stringBuilder.append(line);
45 return stringBuilder.toString();
46 } catch (IOException e) {
47 Log.e(TAG, "HtmlTask failed", e);
53 protected void onPostExecute(String htmlString) {
54 if (htmlString != null) {
55 callback.onReceiveHtml(htmlString);