139 lines
4.0 KiB
Java
139 lines
4.0 KiB
Java
|
package com.safemobile.adapters;
|
||
|
|
||
|
import java.text.SimpleDateFormat;
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.Calendar;
|
||
|
import java.util.Date;
|
||
|
|
||
|
import android.annotation.SuppressLint;
|
||
|
import android.app.Activity;
|
||
|
import android.content.Context;
|
||
|
import android.view.LayoutInflater;
|
||
|
import android.view.View;
|
||
|
import android.view.ViewGroup;
|
||
|
import android.widget.BaseAdapter;
|
||
|
import android.widget.ImageView;
|
||
|
import android.widget.LinearLayout;
|
||
|
import android.widget.TextView;
|
||
|
|
||
|
import com.safemobile.lib.Alarm;
|
||
|
import com.safemobile.lib.R;
|
||
|
import com.safemobile.lib.SM;
|
||
|
|
||
|
@SuppressLint("SimpleDateFormat")
|
||
|
public class AlertGridViewAdapter extends BaseAdapter
|
||
|
{
|
||
|
private ArrayList<Alarm> listAlarms;
|
||
|
private Activity activity;
|
||
|
private ArrayList<Boolean> acknowledged = new ArrayList<Boolean>();
|
||
|
|
||
|
public AlertGridViewAdapter(Activity activity, ArrayList<Alarm> listAlarms, Context context, ArrayList<Boolean> acknowledged) {
|
||
|
super();
|
||
|
this.activity = activity;
|
||
|
this.listAlarms = listAlarms;
|
||
|
this.acknowledged = acknowledged;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public int getCount() {
|
||
|
return listAlarms.size();
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Alarm getItem(int position) {
|
||
|
return listAlarms.get(position);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public long getItemId(int position) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
public static class ViewHolder
|
||
|
{
|
||
|
public LinearLayout layoutAlert;
|
||
|
public ImageView imageViewAlert, imageViewRecycle;
|
||
|
public TextView textViewUnitName, textViewType, textViewDate;
|
||
|
}
|
||
|
|
||
|
@SuppressWarnings("deprecation")
|
||
|
@SuppressLint("SimpleDateFormat")
|
||
|
@Override
|
||
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||
|
ViewHolder view;
|
||
|
LayoutInflater inflator = activity.getLayoutInflater();
|
||
|
|
||
|
if(convertView==null)
|
||
|
{
|
||
|
view = new ViewHolder();
|
||
|
convertView = inflator.inflate(R.layout.row_alert, null);
|
||
|
|
||
|
view.textViewUnitName = (TextView) convertView.findViewById(R.id.textViewUnitName);
|
||
|
view.textViewType = (TextView) convertView.findViewById(R.id.textViewType);
|
||
|
view.textViewDate = (TextView) convertView.findViewById(R.id.textViewDate);
|
||
|
view.imageViewRecycle = (ImageView) convertView.findViewById(R.id.imageViewRecycle);
|
||
|
view.imageViewAlert = (ImageView) convertView.findViewById(R.id.imageViewAlert);
|
||
|
view.layoutAlert = (LinearLayout) convertView.findViewById(R.id.layoutAlert);
|
||
|
|
||
|
convertView.setTag(view);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
view = (ViewHolder) convertView.getTag();
|
||
|
}
|
||
|
view.textViewUnitName.setText(listAlarms.get(position).unitName);
|
||
|
view.textViewType.setText(listAlarms.get(position).typestr);
|
||
|
|
||
|
//view.txtViewDescription.setText(listAlarms.get(position).description);
|
||
|
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
|
||
|
Date date = new Date((long)listAlarms.get(position).timeGMT * 1000);
|
||
|
if(date.getDate() == Calendar.getInstance().get(Calendar.DAY_OF_MONTH))
|
||
|
sdf = new SimpleDateFormat("HH:mm:ss");
|
||
|
else
|
||
|
sdf = new SimpleDateFormat("MMM-dd HH:mm");
|
||
|
view.textViewDate.setText(String.valueOf(sdf.format(date)));
|
||
|
|
||
|
// set ack/!ack image
|
||
|
switch(acknowledged.get(position) ? 1 : 0)
|
||
|
{
|
||
|
case 1:
|
||
|
view.imageViewAlert.setImageResource(R.drawable.alert_off);
|
||
|
//view.layoutAlarm.setBackgroundColor(0xffffffff);
|
||
|
break;
|
||
|
case 0:
|
||
|
view.imageViewAlert.setImageResource(R.drawable.alert);
|
||
|
//view.layoutAlarm.setBackgroundColor(0xffcccccc);
|
||
|
break;
|
||
|
}
|
||
|
return convertView;
|
||
|
}
|
||
|
|
||
|
public void changeACK(int position)
|
||
|
{
|
||
|
SM.Debug("ACK ON START: " + position + " | " + (acknowledged.get(position) ? "true": "false"));
|
||
|
// change in list
|
||
|
acknowledged.remove(position);
|
||
|
acknowledged.add(position, true);
|
||
|
|
||
|
ViewHolder view = new ViewHolder();
|
||
|
LayoutInflater inflator = activity.getLayoutInflater();
|
||
|
View convertView = null;
|
||
|
if(convertView==null)
|
||
|
{
|
||
|
convertView = inflator.inflate(R.layout.row_alert, null);
|
||
|
try
|
||
|
{
|
||
|
view.imageViewAlert = (ImageView) convertView.findViewById(R.id.imageViewAlert);
|
||
|
view.imageViewAlert.setImageResource(R.drawable.alert_off);
|
||
|
convertView.setTag(view);
|
||
|
|
||
|
view = (ViewHolder) convertView.getTag();
|
||
|
}
|
||
|
catch (Exception e) {
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|