package com.twormobile.itrackmygps;
import android.app.Activity;
import android.graphics.Color;
import android.location.GpsSatellite;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class SatteliteListAdapter extends BaseAdapter {
public ArrayList list;
Activity activity;
public SatteliteListAdapter(Activity activity, ArrayList list) {
super();
this.activity = activity;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
private class ViewHolder {
TextView txtFirst;
TextView txtSecond;
TextView txtThird;
TextView txtFourth;
TextView txtFifth;
TextView txtSixth;
TextView txtSeventh;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = activity.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item_satellite, null);
holder = new ViewHolder();
holder.txtFirst = (TextView) convertView.findViewById(R.id.tv_satellite_id);
holder.txtSecond = (TextView) convertView.findViewById(R.id.tv_satellite_azimuth);
holder.txtThird = (TextView) convertView.findViewById(R.id.tv_satellite_elevation);
holder.txtFourth = (TextView) convertView.findViewById(R.id.tv_satellite_snr);
holder.txtFifth = (TextView) convertView.findViewById(R.id.tv_satellite_almanac);
holder.txtSixth = (TextView) convertView.findViewById(R.id.tv_satellite_ephemeris);
holder.txtSeventh = (TextView) convertView.findViewById(R.id.tv_satellite_fix);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
GpsSatellite sat = (GpsSatellite)list.get(position);
holder.txtFirst.setText(Integer.toString(sat.getPrn()));
holder.txtSecond.setText(Float.toString(sat.getAzimuth()));
holder.txtThird.setText(Float.toString(sat.getElevation()));
holder.txtFourth.setText(Float.toString(sat.getSnr()));
holder.txtFifth.setText(sat.hasAlmanac() ? "T" : "F");
holder.txtSixth.setText(sat.hasEphemeris() ? "T" : "F");
holder.txtSeventh.setText(sat.usedInFix() ? "T" : "F");
if(sat.usedInFix()){
convertView.setBackgroundColor(Color.parseColor("#339900"));
}
else{
convertView.setBackgroundColor(Color.parseColor("#FF0000"));
}
return convertView;
}
}