package tof.cv.mpp.adapter;
import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import tof.cv.mpp.R;
import tof.cv.mpp.Utils.Utils;
import tof.cv.mpp.bo.Alert;
import tof.cv.mpp.bo.Occupancy;
import tof.cv.mpp.bo.Station;
public class StationInfoAdapter extends ArrayAdapter<Station.StationDeparture> {
public StationInfoAdapter(Context context, int textViewResourceId,
ArrayList<Station.StationDeparture> items) {
super(context, textViewResourceId, items);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) super.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row_info_station, null);
}
Station.StationDeparture trainstop = getItem(position);
if (trainstop != null) {
TextView platform = (TextView) v.findViewById(R.id.tv_platform);
TextView time = (TextView) v.findViewById(R.id.tv_time);
TextView delay = (TextView) v.findViewById(R.id.tv_delay);
TextView station = (TextView) v.findViewById(R.id.tv_station);
TextView train = (TextView) v.findViewById(R.id.tv_train);
ImageView alert = (ImageView) v.findViewById(R.id.alert);
ImageView occupancy = (ImageView) v.findViewById(R.id.occupancy);
if (trainstop.getAlerts() != null && trainstop.getAlerts().getNumber() > 0) {
alert.setVisibility(View.VISIBLE);
} else {
alert.setVisibility(View.GONE);
}
station.setText(Html.fromHtml(trainstop.getStation().replace(" [NMBS/SNCB]", "")));
if (trainstop.isCancelled())
time.setText(Html.fromHtml("<font color=\"red\">XXXX</font>"));
else
time.setText(Utils.formatDate(trainstop.getTime(), false, false));
if (trainstop.getDelay().contentEquals("0"))
delay.setText("");
else try {
delay.setText("+" + (Integer.valueOf(trainstop.getDelay()) / 60) + "'");
} catch (Exception e) {
delay.setText(trainstop.getDelay());
}
if (trainstop.getPlatforminfo() != null) {
platform.setText(trainstop.getPlatforminfo().name);
if (trainstop.getPlatforminfo() != null && trainstop.getPlatforminfo().normal == 0)
platform
.setText("! " + platform.getText() + " !");
} else
platform.setText("");
train.setText(Utils.getTrainId(trainstop.getVehicle()));
switch (trainstop.getOccupancy().getName()) {
case Occupancy.HIGH:
occupancy.setImageResource(R.drawable.ic_occupancy_high);
occupancy.setVisibility(View.VISIBLE);
break;
case Occupancy.MEDIUM:
occupancy.setImageResource(R.drawable.ic_occupancy_medium);
occupancy.setVisibility(View.VISIBLE);
break;
case Occupancy.LOW:
occupancy.setImageResource(R.drawable.ic_occupancy_low);
occupancy.setVisibility(View.VISIBLE);
break;
default:
occupancy.setVisibility(View.GONE);
}
}
return v;
}
}