package org.goodev.discourse.api; import android.os.AsyncTask; import org.goodev.discourse.App; import org.goodev.discourse.utils.HttpRequest; import org.goodev.discourse.utils.HttpRequest.HttpRequestException; import org.goodev.discourse.utils.L; import java.io.IOException; import java.net.HttpURLConnection; public abstract class SearchTask<Result> extends AsyncTask<String, Void, Result> { @Override protected Result doInBackground(String... params) { try { String url = App.getSiteUrl() + params[0]; L.i(url); HttpRequest hr = HttpRequest.get(url); HttpURLConnection conn = hr.getConnection(); if (App.isLogin()) { App.getCookieManager().setCookies(conn); } String body = hr.body(); L.i(body); return parse(body); } catch (HttpRequestException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return null; } public abstract Result parse(String body); }