X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff..269195b3729c1bdc22e9053ee4ebca667ea8549d:/Android/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java diff --git a/Android/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java b/Android/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java new file mode 100755 index 0000000..c890adf --- /dev/null +++ b/Android/folioreader/src/main/java/com/folioreader/ui/base/HtmlTask.java @@ -0,0 +1,61 @@ +package com.folioreader.ui.base; + +import android.os.AsyncTask; +import android.util.Log; + +import com.folioreader.util.AppUtil; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLConnection; + +/** + * Background async task which downloads the html content of a web page + * from server + * + * @author by gautam on 12/6/17. + */ + +public class HtmlTask extends AsyncTask { + + private static final String TAG = "HtmlTask"; + + private HtmlTaskCallback callback; + + public HtmlTask(HtmlTaskCallback callback) { + this.callback = callback; + } + + @Override + protected String doInBackground(String... urls) { + String strUrl = urls[0]; + try { + URL url = new URL(strUrl); + URLConnection urlConnection = url.openConnection(); + InputStream inputStream = urlConnection.getInputStream(); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, AppUtil.charsetNameForURLConnection(urlConnection))); + StringBuilder stringBuilder = new StringBuilder(); + String line; + while ((line = bufferedReader.readLine()) != null) { + stringBuilder.append(line); + } + return stringBuilder.toString(); + } catch (IOException e) { + Log.e(TAG, "HtmlTask failed", e); + } + return null; + } + + @Override + protected void onPostExecute(String htmlString) { + if (htmlString != null) { + callback.onReceiveHtml(htmlString); + } else { + callback.onError(); + } + cancel(true); + } +}