package com.dexdrip.stephenblack.nightwatch.alerts; import android.content.Context; import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.TextView; import com.dexdrip.stephenblack.nightwatch.R; import java.text.DateFormat; import java.util.Date; import java.util.List; /** * Created by stephenblack on 8/4/15. */ public class ErrorListAdapter extends BaseAdapter { private List<UserError> list; private Context context; public ErrorListAdapter(Context context, List<UserError> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public UserError getItem(int pos) { return list.get(pos); } @Override public long getItemId(int pos) { return list.get(pos).getId(); } @Override public View getView(final int position, View convertView, ViewGroup parent) { View view = convertView; if (view == null) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.item_user_error, null); } LinearLayout row = (LinearLayout) view.findViewById(R.id.errorRow); TextView shortText = (TextView) view.findViewById(R.id.errorShort); TextView longText = (TextView) view.findViewById(R.id.errorLong); TextView timestamp = (TextView) view.findViewById(R.id.errorTimestamp); UserError error = list.get(position); row.setBackgroundColor(backgroundFor(error.severity)); shortText.setText(error.shortError); longText.setText(error.message); timestamp.setText(dateformatter(error.timestamp)); return view; } private int backgroundFor(int severity) { switch (severity) { case 1: return Color.rgb(255, 204, 102); case 2: return Color.rgb(255, 153, 102); } return Color.rgb(255, 102, 102); } private String dateformatter(double timestamp) { Date date = new Date((long) timestamp); DateFormat format = DateFormat.getDateTimeInstance(); return format.format(date); } }