package com.ihateflyingbugs.kidsm.businfo;
import java.util.ArrayList;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.ihateflyingbugs.kidsm.R;
//public class BusInfoAdapter extends ArrayAdapter<BusStop> {
public class BusInfoAdapter extends BaseAdapter {
// public BusInfoAdapter(Context context, int resource, BusStop[] objects) {
// super(context, resource, objects);
// // TODO Auto-generated constructor stub
// }
ArrayList<BusStop> list;
Context ctx;
int itemLayout;
//public BusInfoAdapter(Context ctx, int itemLayout, BusStop[] list){
public BusInfoAdapter(Context ctx, int itemLayout, ArrayList<BusStop> list){
//super(ctx, itemLayout, list);
this.ctx = ctx;
this.itemLayout = itemLayout;
this.list = list;
//this.list = new ArrayList<BusStop>();
// for (int i=0; i<list.length; i++) {
// this.list.add(list[i]);
// }
}
@Override
public int getCount() {
return list.size();
}
@Override
public BusStop getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
BusstopViewHolder holder;
//if(convertView==null){
if(true){
LayoutInflater inflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(itemLayout, parent, false);
holder = new BusstopViewHolder();
holder.cellLayout = (LinearLayout)convertView.findViewById(R.id.ll_cell);
holder.colorBar = (View)convertView.findViewById(R.id.view_busstop);
holder.busstopIcon = (ImageView)convertView.findViewById(R.id.iv_busstop);
holder.textView = (TextView)convertView.findViewById(R.id.tv_busstop_label);
holder.nextButton = (Button)convertView.findViewById(R.id.button_next);
holder.blueTopLine = (View)convertView.findViewById(R.id.view_line_blue_top);
holder.blueBottomLine = (View)convertView.findViewById(R.id.view_line_blue_bottom);
holder.greyTopLine = (View)convertView.findViewById(R.id.view_line_grey_top);
holder.greyBottomLine = (View)convertView.findViewById(R.id.view_line_grey_bottom);
holder.textView.setText(list.get(pos).getName());
holder.nextButton.setVisibility(View.GONE);
if (list.get(pos).isPassed() == true){
holder.busstopIcon.setImageResource(R.drawable.bus_info_on);
}
else {
holder.busstopIcon.setImageResource(R.drawable.bus_info_off);
}
if (list.get(pos).isCurrentLocation() == true) {
holder.cellLayout.setBackgroundColor(Color.WHITE);
holder.colorBar.setBackgroundColor(0xff48cce3);
holder.nextButton.setVisibility(View.VISIBLE);
}
holder.blueTopLine.setVisibility(View.GONE);
holder.blueBottomLine.setVisibility(View.GONE);
holder.greyTopLine.setVisibility(View.GONE);
holder.greyBottomLine.setVisibility(View.GONE);
if (list.get(pos).isFinalElem() == true) {
if(list.get(pos).isPassed() == true) {
holder.blueTopLine.setVisibility(View.VISIBLE);
}
else {
holder.greyTopLine.setVisibility(View.VISIBLE);
}
}
else if (pos == 0) {
if(list.get(pos).isCurrentLocation() == true && list.get(pos).isPassed() == true) {
holder.greyBottomLine.setVisibility(View.VISIBLE);
}
else if(list.get(pos).isCurrentLocation() == false && list.get(pos).isPassed() == true){
holder.blueBottomLine.setVisibility(View.VISIBLE);
}
else {
holder.greyBottomLine.setVisibility(View.VISIBLE);
}
}
else {
if(list.get(pos).isPassed() == true) {
holder.blueTopLine.setVisibility(View.VISIBLE);
holder.blueBottomLine.setVisibility(View.VISIBLE);
if(list.get(pos).isCurrentLocation() == true){
holder.blueBottomLine.setVisibility(View.GONE);
holder.greyBottomLine.setVisibility(View.VISIBLE);
}
}
else {
holder.greyTopLine.setVisibility(View.VISIBLE);
holder.greyBottomLine.setVisibility(View.VISIBLE);
}
}
/*
int color = 0;
if(list.get(position).equals("Red")) color = Color.RED;
else if(list.get(position).equals("Green")) color = Color.GREEN;
else if(list.get(position).equals("Blue")) color = Color.BLUE;
*/
/*
Button btn = (Button)convertView.findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ctx, list.get(pos), Toast.LENGTH_SHORT).show();
}
});
*/
}
// else{
//
// //holder = (BusstopViewHolder)convertView.getTag();
// }
return convertView;
}
class BusstopViewHolder {
public LinearLayout cellLayout;
public View colorBar;
public ImageView busstopIcon;
public TextView textView;
public Button nextButton;
public View blueTopLine;
public View blueBottomLine;
public View greyTopLine;
public View greyBottomLine;
}
}