package com.thebluealliance.androidclient.listitems; import com.thebluealliance.androidclient.R; import com.thebluealliance.androidclient.helpers.ThreadSafeFormatters; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; public class StatsListElement extends ListElement { public final String teamNumber; public final String teamName; public final String teamStat; public final Double opr, dpr, ccwm; public StatsListElement(String key, String number, String name, String stat, Double opr, Double dpr, Double ccwm) { super(key); teamNumber = number; teamName = name; teamStat = stat; this.opr = opr; this.dpr = dpr; this.ccwm = ccwm; } @Override public View getView(Context c, LayoutInflater inflater, View convertView) { ViewHolder holder; if (convertView == null || !(convertView.getTag() instanceof ViewHolder)) { convertView = inflater.inflate(R.layout.list_item_stats, null); holder = new ViewHolder(); holder.teamNumber = (TextView) convertView.findViewById(R.id.team_number); holder.teamName = (TextView) convertView.findViewById(R.id.team_name); holder.teamStat = (TextView) convertView.findViewById(R.id.team_stat); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.teamNumber.setText("" + teamNumber); if (!teamName.isEmpty()) { holder.teamName.setText(teamName); } else { holder.teamName.setText("Team " + teamNumber); } holder.teamStat.setText(teamStat); return convertView; } private static class ViewHolder { TextView teamNumber; TextView teamName; TextView teamStat; } public int getTeamNumber() { return Integer.parseInt(teamNumber); } public Double getOpr() { return opr; } public String getFormattedOpr() { return ThreadSafeFormatters.formatDoubleTwoPlaces(opr); } public Double getDpr() { return dpr; } public String getFormattedDpr() { return ThreadSafeFormatters.formatDoubleTwoPlaces(dpr); } public Double getCcwm() { return ccwm; } public String getFormattedCcwm() { return ThreadSafeFormatters.formatDoubleTwoPlaces(ccwm); } public String getTeamNumberString() { return String.format("Team %1$s", teamNumber); } @Override public boolean equals(Object o) { if (!(o instanceof StatsListElement)) { return false; } StatsListElement element = (StatsListElement) o; return teamName.equals(element.teamName) && teamNumber.equals(element.teamNumber) && opr.equals(element.opr) && dpr.equals(element.dpr) && ccwm.equals(element.ccwm); } }