package org.ohmage.adapters;
import android.content.Context;
import android.database.Cursor;
import android.support.v4.widget.CursorAdapter;
import android.text.format.DateUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.ohmage.ConfigHelper;
import org.ohmage.R;
import org.ohmage.db.DbContract.Campaigns;
import org.ohmage.db.DbContract.Responses;
import org.ohmage.db.DbContract.Surveys;
public class ResponseListCursorAdapter extends CursorAdapter {
private final LayoutInflater mInflater;
public ResponseListCursorAdapter(Context context, Cursor c, int flags){
super(context, c, flags);
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView surveyText = (TextView) view.findViewById(R.id.main_text);
TextView campaignText = (TextView) view.findViewById(R.id.sub_text);
TextView timeText = (TextView) view.findViewById(R.id.extra_text_1);
TextView dateText = (TextView) view.findViewById(R.id.extra_text_2);
view.findViewById(R.id.icon_image).setVisibility(View.GONE);
view.findViewById(R.id.action_separator).setVisibility(View.GONE);
view.findViewById(R.id.action_button).setVisibility(View.GONE);
surveyText.setText(cursor.getString(cursor.getColumnIndex(Surveys.SURVEY_TITLE)));
campaignText.setText(cursor.getString(cursor.getColumnIndex(Campaigns.CAMPAIGN_NAME)));
// Only show campaign name if we aren't in single campaign mode
campaignText.setVisibility((ConfigHelper.isSingleCampaignMode()) ? View.GONE : View.VISIBLE);
long millis = cursor.getLong(cursor.getColumnIndex(Responses.RESPONSE_TIME));
timeText.setText(DateUtils.formatDateTime(context, millis, DateUtils.FORMAT_SHOW_TIME));
dateText.setText(DateUtils.formatDateTime(context, millis, DateUtils.FORMAT_NUMERIC_DATE));
timeText.setVisibility(View.VISIBLE);
dateText.setVisibility(View.VISIBLE);
}
@Override
public View newView(Context context, Cursor c, ViewGroup parent) {
return mInflater.inflate(R.layout.ohmage_list_item, null);
}
}