package net.wigle.wigleandroid; import android.annotation.SuppressLint; import android.content.Context; import android.content.SharedPreferences; import android.graphics.Typeface; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; import net.wigle.wigleandroid.model.RankUser; import net.wigle.wigleandroid.model.Upload; import java.text.NumberFormat; import java.util.Locale; /** * the array adapter for a list of uploads. */ public final class UploadsListAdapter extends AbstractListAdapter<Upload> { public UploadsListAdapter(final Context context, final int rowLayout ) { super( context, rowLayout ); } @SuppressLint("SetTextI18n") @Override public View getView(final int position, final View convertView, final ViewGroup parent) { View row; if ( null == convertView ) { row = mInflater.inflate( R.layout.uploadrow, parent, false ); } else { row = convertView; } Upload upload; try { upload = getItem(position); } catch ( final IndexOutOfBoundsException ex ) { // yes, this happened to someone MainActivity.info("index out of bounds: " + position + " ex: " + ex); return row; } TextView tv = (TextView) row.findViewById( R.id.transid ); tv.setText(upload.getTransid()); tv = (TextView) row.findViewById( R.id.total_wifi_gps ); tv.setText(getContext().getString(R.string.wifi_gps) + ": " + numberFormat.format(upload.getTotalWifiGps())); tv = (TextView) row.findViewById( R.id.total_cell_gps ); tv.setText(getContext().getString(R.string.cell_gps) + ": " + numberFormat.format(upload.getTotalCellGps())); tv = (TextView) row.findViewById( R.id.file_size ); tv.setText(getContext().getString(R.string.bytes) + ": " + numberFormat.format(upload.getFileSize())); final String status = upload.getStatus(); String percentDonePrefix = ""; String percentDoneSuffix = "%"; if ("Queued for Processing".equals(status)) { percentDonePrefix = "#"; percentDoneSuffix = ""; } tv = (TextView) row.findViewById( R.id.percent_done ); tv.setText(percentDonePrefix + upload.getPercentDone() + percentDoneSuffix); tv = (TextView) row.findViewById( R.id.status ); tv.setText(upload.getStatus()); return row; } }