package com.project.smartpump; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.project.classes.GasStation; import com.project.classes.StationRequest; import com.project.classes.StationSearchResult; import android.app.ActionBar; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.Adapter; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.Toast; public class SearchResultsView extends Activity { public static Context context; private ArrayList<StationSearchResult> stations; private ArrayList<String> searchResults; //private ArrayList<Double> adjustedPrices; private double currentLat, currentLng; static ListView results; SearchResultsAdapter adapter; public static Context getContext() { return context; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search_results_view); context = getApplicationContext(); // Activate Clickable Icon Button ActionBar smartPumpIcon = getActionBar(); smartPumpIcon.setDisplayHomeAsUpEnabled(true); System.out.println("opening search results"); results = (ListView)findViewById(android.R.id.list); stations = this.getIntent().getExtras().getParcelableArrayList("data"); //adjustedPrices = (ArrayList<Double>) this.getIntent().getSerializableExtra("adjustedPrices"); currentLat = this.getIntent().getExtras().getDouble("latitude"); currentLng = this.getIntent().getExtras().getDouble("longitude"); System.out.println("Finished setting up results"); //ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, searchResults); adapter = new SearchResultsAdapter(stations, context); System.out.println("Created adapter"); adapter.DistanceSort(); adapter.notifyDataSetChanged(); results.setAdapter(adapter); System.out.println("Set adapter"); results.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { view.setSelected(true); StationSearchResult selected = stations.get(position); //double adjusted = adjustedPrices.get(position); Intent i = new Intent(getContext(), StationDetailsActivity.class); i.putExtra("resultSelected", selected); i.putExtra("fuelTypeSelected", true); i.putExtra("latitude", currentLat); i.putExtra("longitude", currentLng); //i.putExtra("adjustedPrice", adjusted); startActivity(i); } }); } // -------------------------- OPTIONS MENU---------------------------- @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.results_menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); return true; case R.id.adj_sort: adapter.AdjSort(); adapter.notifyDataSetChanged(); return true; case R.id.dis_sort: adapter.DistanceSort(); adapter.notifyDataSetChanged(); return true; case R.id.price_sort: adapter.PriceSort(); adapter.notifyDataSetChanged(); return true; default: return super.onOptionsItemSelected(item); } } }