package com.tpandroid.fibonacci;

import android.content.Context;
import android.os.AsyncTask;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


class WebService extends AsyncTask<Void, Void, Integer> {

    Context context;
    String number;

    WebService(Context context, String number) {
        this.context = context;
        this.number = number;
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected Integer doInBackground(Void... params) {
        String url = "http://i3.options.eisti.fr/webservices/fibonacci/" + String.valueOf(number);
        try {
            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
            connection.setConnectTimeout(2000);
            connection.setRequestMethod("GET");
            connection.connect();
            int status = connection.getResponseCode();

            if (status == 200 || status == 201)
            {
                InputStream inputStream = connection.getInputStream();
                BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
                StringBuilder builder = new StringBuilder();
                String line;
                while ((line = r.readLine()) != null)
                {
                    builder.append(line);
                }
                int answer = Integer.valueOf(builder.toString());

                return answer;
            }

            return -1;
        } catch (IOException e) {

            e.printStackTrace();
            return -1;
        }


        //return 0;
    }

    @Override
    protected void onPostExecute(Integer integer) {
        super.onPostExecute(integer);
        //Toast.makeText(context, "Problème de connexion", Toast.LENGTH_LONG).show();
    }
}
