package com.fernandomantoan.ramaispti.android.service; import java.net.URLEncoder; import java.util.ArrayList; import org.json.JSONArray; import org.json.JSONObject; import android.os.AsyncTask; import com.fernandomantoan.ramaispti.android.entity.Person; import com.fernandomantoan.ramaispti.android.fragment.SearchFragment; import com.fernandomantoan.ramaispti.android.support.WebClient; public class TelephonesServices extends AsyncTask<String, Object, String> { private final static String ENDPOINT = "http://pdi.pti.org.br/habitantes/telefones?nome="; private SearchFragment activity; private ArrayList<Person> people = new ArrayList<Person>(); private String name; private String company; private String role; public TelephonesServices(SearchFragment activity, String name, String company, String role) { this.activity = activity; this.name = name; this.company = company; this.role = role; } @Override protected String doInBackground(String... params) { try { String parameters = ""; if (this.company != null && !"".equals(this.company)) parameters += "&empresa=" + URLEncoder.encode(this.company, "utf-8"); if (this.role != null && !"".equals(this.role)) parameters += "&funcao=" + URLEncoder.encode(this.role, "utf-8"); String result = new WebClient(ENDPOINT + URLEncoder.encode(this.name, "utf-8") + parameters).get(); JSONObject rootJSON = new JSONObject(result); JSONArray peopleJSONList = rootJSON.getJSONArray("pessoaList"); people = new ArrayList<Person>(); for (int i = 0; i < peopleJSONList.length(); i++) { Person person = new Person(peopleJSONList.getJSONObject(i)); people.add(person); } } catch (Exception e) { } return null; } @Override protected void onPreExecute() { activity.showLoading(); } @Override protected void onPostExecute(String message) { activity.requestEnd(people); } }