package mondaini.android.bagulhodoido.activities;
import java.util.List;
import mondaini.android.bagulhodoido.adapters.LocalAdapter;
import mondaini.android.bagulhodoido.db.DBAdapter;
import mondaini.android.bagulhodoido.model.Local;
import mondaini.android.dojorio.R;
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
public class ListaLocaisActivity extends Activity {
private ListView lvLocais;
public List<Local> locais;
private LocalAdapter localAdapter;
private DBAdapter mDb;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.local_list);
this.lvLocais = (ListView) findViewById(R.id.listLocais);
mDb = new DBAdapter(this);
new GetLocais().execute();
}
class GetLocais extends AsyncTask<Void, Void, Boolean>{
@Override
protected Boolean doInBackground(Void... arg) {
mDb.open();
ListaLocaisActivity.this.locais = mDb.getLocais();
if (locais != null && locais.size() > 0){
return true;
}
else{
return false;
}
}
@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
if (result == true){
localAdapter = new LocalAdapter(ListaLocaisActivity.this, locais);
lvLocais.setOnItemClickListener(new OnClickListaLocais());
lvLocais.setAdapter(localAdapter);
}else{
Toast.makeText(ListaLocaisActivity.this, "Ocorreu um erro ao buscar a lista de locais\n:-(", Toast.LENGTH_LONG).show();
}
mDb.close();
}
}
class OnClickListaLocais implements OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position, long id) {
// Local local = ListaLocaisActivity.this.locais.get(position);
//
// String endereco = local.endereco;
// endereco = endereco.replace(' ', '+');
//
// String GEO_URI = "geo:0,0?q=";
// Uri uriGeo = Uri.parse(GEO_URI + endereco);
//
// Intent it = new Intent(android.content.Intent.ACTION_VIEW, uriGeo);
// startActivity(it);
Local local = ListaLocaisActivity.this.locais.get(position);
Intent it = new Intent(getApplicationContext(), LocalActivity.class);
it.putExtra("idLocal", local.getId());
startActivity(it);
}
}
}