use of com.usp.icmc.taemcasa.MinhasVagas.MoradiaResponse.MinhasMoradias in project TaEmCasa by Dionen.
the class MinhasVagasActivity method minhasVagasRefresh.
private void minhasVagasRefresh() {
listaMoradias.clear();
listaVagas.clear();
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JSONObject jsonResponse = null;
try {
System.out.println(response);
jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
HashMap<Integer, Republica> aux = new HashMap<Integer, Republica>();
JSONArray moradiasResponse = jsonResponse.getJSONArray("moradias");
for (int i = 0; i < moradiasResponse.length(); i++) {
JSONObject atual = moradiasResponse.getJSONObject(i);
int id = atual.getInt("id");
String username = atual.getString("username");
String nome = atual.getString("nome");
String descricao = atual.getString("descricao");
String rua = atual.getString("rua");
String numero = atual.getString("numero");
String complemento = atual.getString("complemento");
String bairro = atual.getString("bairro");
String cidade = atual.getString("cidade");
String estado = atual.getString("estado");
// O JSON vem com floats em formato de string, então é preciso
// fazer essa validação antes do parse para float
String s = atual.getString("latitude");
float latitude = 0;
if (s != "null")
latitude = Float.parseFloat(s);
float longitude = 0;
s = atual.getString("longitude");
if (s != "null")
longitude = Float.parseFloat(s);
String telefone = atual.getString("telefone");
String imagem = atual.getString("imagem");
String sTipo = atual.getString("tipo");
int tipo = 0;
if (!sTipo.equals("null"))
tipo = Integer.parseInt(sTipo);
int perfil = atual.getInt("perfil");
int qtd_moradores = atual.getInt("qtd_moradores");
// O bd armazena true como 1, então é preciso fazer essa
// validação para conseguir utilizar o boolean do java
boolean aceita_animais = false;
int bool = atual.getInt("aceita_animais");
if (bool == 1)
aceita_animais = true;
Republica dados = new Republica(id, username, nome, descricao, rua, numero, complemento, bairro, cidade, estado, latitude, longitude, telefone, imagem, tipo, perfil, qtd_moradores, aceita_animais);
listaMoradias.add(dados);
listaVagas.put(dados, new ArrayList<Vaga>());
aux.put(id, dados);
}
JSONArray vagasResponse = jsonResponse.getJSONArray("vagas");
for (int i = 0; i < vagasResponse.length(); i++) {
JSONObject atual = vagasResponse.getJSONObject(i);
int id = atual.getInt("id");
int id_rep = atual.getInt("id_rep");
String preco = atual.getString("preco");
String tipo = Integer.toString(atual.getInt("tipo"));
boolean individual = false;
int bool = atual.getInt("individual");
if (bool == 1)
individual = true;
Vaga dados = new Vaga(id, id_rep, preco, tipo, individual);
Republica auxiliar = aux.get(id_rep);
listaVagas.get(auxiliar).add(dados);
}
java.util.Iterator iter = listaVagas.values().iterator();
while (iter.hasNext()) {
ArrayList<Vaga> l = (ArrayList<Vaga>) iter.next();
if (l.size() == 0)
l.add(new Vaga("-1"));
}
java.util.Iterator iter2 = listaVagas.keySet().iterator();
while (iter2.hasNext()) {
Republica aux3 = (Republica) iter2.next();
System.out.println(aux3 + " " + listaVagas.get(aux3).get(0).getPrice());
}
adapter.notifyDataSetChanged();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
/* ENTRA NA DATABASE ONLINE */
MinhasMoradias minhasMoradiasRequest = new MinhasMoradias(getActivity().getIntent().getExtras().getString("email"), responseListener);
RequestQueue queue = Volley.newRequestQueue(getContext());
// Executa as tarefas requisitadas
queue.add(minhasMoradiasRequest);
}
Aggregations