package tof.cv.mpp.adapter;
import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import tof.cv.mpp.InfoStationActivity;
import tof.cv.mpp.R;
import tof.cv.mpp.Utils.Utils;
import tof.cv.mpp.bo.Vehicle;
public class TrainInfoAdapter extends RecyclerView.Adapter<TrainInfoAdapter.InfotrainHolder> {
ArrayList<Vehicle.VehicleStop> list;
public TrainInfoAdapter(ArrayList<Vehicle.VehicleStop> list, Context context) {
this.list = list;
}
@Override
public TrainInfoAdapter.InfotrainHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_info_train, parent, false);
TrainInfoAdapter.InfotrainHolder viewHolder = new TrainInfoAdapter.InfotrainHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(InfotrainHolder holder, int position) {
Vehicle.VehicleStop o = list.get(position);
if (o != null) {
holder.item = o;
holder.station.setText(Html.fromHtml(o.getStation()));
if (o.getPlatforminfo() != null) {
holder.platform.setText(o.getPlatforminfo().name);
if (o.getPlatforminfo() != null && o.getPlatforminfo().normal == 0)
holder.platform
.setText("! " + holder.platform.getText() + " !");
} else
holder.platform.setText("");
if (o.isCancelled())
holder.time.setText(Html.fromHtml("<font color=\"red\">XXXX</font>"));
else
holder.time.setText(Utils.formatDate(o.getTime(), false, false));
if (o.getDelay().contentEquals("0"))
holder.delay.setText("");
else
try {
holder.delay.setText("+"
+ (Integer.valueOf(o.getDelay()) / 60)
+ "'");
} catch (Exception e) {
holder.delay.setText(o.getDelay());
}
}
}
@Override
public int getItemCount() {
return list.size();
}
public static class InfotrainHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView time;
TextView delay;
TextView station;
TextView platform;
Vehicle.VehicleStop item;
public InfotrainHolder(View v) {
super(v);
v.setOnClickListener(this);
time = (TextView) v.findViewById(R.id.time);
delay = (TextView) v.findViewById(R.id.delay);
station = (TextView) v.findViewById(R.id.station);
platform = (TextView) v.findViewById(R.id.platform);
}
@Override
public void onClick(View view) {
Intent i = new Intent(view.getContext(), InfoStationActivity.class);
i.putExtra("Name", item.getStation());
i.putExtra("ID", item.getStationInfo().getId());
i.putExtra("timestamp", item.getTime());
view.getContext().startActivity(i);
}
}
}