package com.mygeopay.wallet.tasks; import android.os.AsyncTask; import com.mygeopay.wallet.Constants; import com.google.common.base.Charsets; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.security.KeyStore; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; /** * @author John L. Jegutanis */ public class CheckUpdateTask extends AsyncTask<Void, Void, Integer> { private static final Logger log = LoggerFactory.getLogger(CheckUpdateTask.class); @Override protected Integer doInBackground(Void... params) { HttpURLConnection connection = null; try { connection = (HttpURLConnection) new URL(Constants.VERSION_URL).openConnection(); connection.setInstanceFollowRedirects(true); connection.setConnectTimeout(Constants.HTTP_TIMEOUT_MS); connection.setReadTimeout(Constants.HTTP_TIMEOUT_MS); connection.setRequestProperty("Accept-Charset", "utf-8"); connection.connect(); if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { final BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charsets.UTF_8), 64); String line = reader.readLine().trim(); reader.close(); return Integer.valueOf(line); } } catch (final Exception e) { log.info("Could not check for update", e); } finally { if (connection != null) connection.disconnect(); } return null; } }