--- android/TrainInfo/src/dk/thoerup/traininfo/DepartureListAdapter.java 2009/10/29 19:50:02 491 +++ android/TrainInfo/src/dk/thoerup/traininfo/DepartureListAdapter.java 2010/09/16 15:32:42 1066 @@ -11,10 +11,11 @@ import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; +import dk.thoerup.android.traininfo.common.DepartureEntry; public class DepartureListAdapter extends BaseAdapter { - private List departures; + private List departures; LayoutInflater inflater; Context context; @@ -31,7 +32,7 @@ } - public void setDepartures(List departures) { + public void setDepartures(List departures) { this.departures = departures; notifyDataSetChanged(); } @@ -44,7 +45,7 @@ return 0; } - public DepartureBean getDeparture(int position) { + public DepartureEntry getDeparture(int position) { return departures.get(position); } @@ -60,20 +61,26 @@ @Override public View getView(int position, View convertView, ViewGroup parent) { - DepartureBean station = departures.get(position); + DepartureEntry station = departures.get(position); View root = inflater.inflate(R.layout.departurerow , parent, false); ((TextView) root.findViewById(R.id.Time)).setText(station.getTime()); ((TextView) root.findViewById(R.id.Destination)).setText(station.getDestination()); - if (station.getStatus().length() > 0 || station.getNote().length() > 0) { + + if ( (station.getStatus() != null && station.getStatus().length() > 0) || (station.getNote() != null && station.getNote().length() > 0) ) { ImageView image = (ImageView) root.findViewById(R.id.InfoIcon); + + String status = (station.getStatus() != null) ? station.getStatus().toLowerCase() : ""; + String note = (station.getNote() != null) ? station.getNote().toLowerCase() : ""; + int iconID; - if (station.getStatus().toLowerCase().indexOf("aflyst") > -1 || - station.getNote().toLowerCase().indexOf("aflyst") > -1 ) { + if (status.indexOf("aflyst") > -1 || note.indexOf("aflyst") > -1 ) { iconID = R.drawable.warn20; + } else if (note.indexOf("kører kun til") > -1 || note.indexOf("afgår fra") > -1) { //If these strings are present, the train only covers part of the line + iconID = R.drawable.warnyellow20; } else { iconID = R.drawable.info20; } @@ -104,6 +111,7 @@ imageMap.put("ør", R.drawable.or); //ØR = Øresundstog imageMap.put("ec", R.drawable.ec); //EC = EuroCity imageMap.put("sj", R.drawable.sj); // SJ=Svenska Jernbaner + imageMap.put("ie", R.drawable.ie); imageMap.put("a", R.drawable.stog_a); //S-Tog: A banen #00b5f1 imageMap.put("b", R.drawable.stog_b); //S-Tog:B banen #5aba52