package com.secupwn.aimsicd.data.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.secupwn.aimsicd.R;
import com.secupwn.aimsicd.data.model.Event;
import java.text.DateFormat;
import io.realm.RealmBaseAdapter;
import io.realm.RealmResults;
import static java.lang.String.valueOf;
public class EventAdapter extends RealmBaseAdapter<Event> {
public EventAdapter(Context context, RealmResults<Event> realmResults, boolean automaticUpdate) {
super(context, realmResults, automaticUpdate);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
convertView = inflater.inflate(R.layout.eventlog_items, parent, false);
holder = new ViewHolder(convertView);
} else {
holder = (ViewHolder) convertView.getTag();
}
final Event event = getItem(position);
holder.updateDisplay(event, position);
return convertView;
}
private class ViewHolder {
private final View mRootView;
private final TextView mtime;
private final TextView mLAC;
private final TextView mCID;
private final TextView mPSC;
private final TextView mgpsd_lat;
private final TextView mgpsd_lon;
private final TextView mgpsd_accu;
private final TextView mDF_id;
private final TextView mDF_desc;
private final TextView mRecordId;
ViewHolder(View rootView) {
mRootView = rootView;
mtime = (TextView) mRootView.findViewById(R.id.time);
mLAC = (TextView) mRootView.findViewById(R.id.LAC);
mCID = (TextView) mRootView.findViewById(R.id.CID);
mPSC = (TextView) mRootView.findViewById(R.id.PSC);
mgpsd_lat = (TextView) mRootView.findViewById(R.id.gpsd_lat);
mgpsd_lon = (TextView) mRootView.findViewById(R.id.gpsd_lon);
mgpsd_accu = (TextView) mRootView.findViewById(R.id.gpsd_accu);
mDF_id = (TextView) mRootView.findViewById(R.id.DF_id);
mDF_desc = (TextView) mRootView.findViewById(R.id.DF_desc);
mRecordId = (TextView) mRootView.findViewById(R.id.record_id);
rootView.setTag(this);
}
public void updateDisplay(Event event, int position) {
mtime.setText(DateFormat.getDateTimeInstance().format(event.getTimestamp())); // need fix ?
mLAC.setText(valueOf(event.getLocationAreaCode()));
mCID.setText(valueOf(event.getCellId()));
mPSC.setText(valueOf(event.getPrimaryScramblingCode()));
mgpsd_lat.setText(valueOf(event.getGpsLocation().getLatitude()));
mgpsd_lon.setText(valueOf(event.getGpsLocation().getLongitude()));
mgpsd_accu.setText(valueOf(event.getGpsLocation().getAccuracy()));
mDF_id.setText(valueOf(event.getDfId()));
mDF_desc.setText(event.getDfDescription());
mRecordId.setText(valueOf(position));
}
}
}