AgendaAdapterpublic class AgendaAdapter extends android.widget.ResourceCursorAdapter
Fields Summary |
---|
static final String[] | REMINDERS_PROJECTION | static final int | REMINDERS_INDEX_MINUTES | static final String | REMINDERS_WHERE | private android.content.res.Resources | mResources | private static ArrayList | sReminderValues | private static String[] | sReminderLabels |
Constructors Summary |
---|
public AgendaAdapter(android.content.Context context, int resource)
super(context, resource, null);
mResources = context.getResources();
|
Methods Summary |
---|
public void | bindView(android.view.View view, android.content.Context context, android.database.Cursor cursor)
// Fade text if event was declined.
int selfAttendeeStatus = cursor.getInt(AgendaActivity.INDEX_SELF_ATTENDEE_STATUS);
boolean declined = (selfAttendeeStatus == Attendees.ATTENDEE_STATUS_DECLINED);
View stripe = view.findViewById(R.id.vertical_stripe);
int color = cursor.getInt(AgendaActivity.INDEX_COLOR);
((FrameLayout) view).setForeground(declined ?
mResources.getDrawable(R.drawable.agenda_item_declined) : null);
stripe.setBackgroundColor(color);
// What
TextView title = (TextView) view.findViewById(R.id.title);
String titleString = cursor.getString(AgendaActivity.INDEX_TITLE);
if (titleString == null || titleString.length() == 0) {
titleString = mResources.getString(R.string.no_title_label);
}
title.setText(titleString);
title.setTextColor(color);
// When
TextView when = (TextView) view.findViewById(R.id.when);
long begin = cursor.getLong(AgendaActivity.INDEX_BEGIN);
long end = cursor.getLong(AgendaActivity.INDEX_END);
boolean allDay = cursor.getInt(AgendaActivity.INDEX_ALL_DAY) != 0;
int flags;
String whenString;
if (allDay) {
flags = DateUtils.FORMAT_UTC;
} else {
flags = DateUtils.FORMAT_SHOW_TIME;
}
if (DateFormat.is24HourFormat(context)) {
flags |= DateUtils.FORMAT_24HOUR;
}
whenString = DateUtils.formatDateRange(context, begin, end, flags);
when.setText(whenString);
String rrule = cursor.getString(AgendaActivity.INDEX_RRULE);
if (rrule != null) {
when.setCompoundDrawablesWithIntrinsicBounds(null, null,
context.getResources().getDrawable(R.drawable.ic_repeat_dark), null);
when.setCompoundDrawablePadding(5);
} else {
when.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
}
/*
// Repeating info
View repeatContainer = view.findViewById(R.id.repeat_icon);
String rrule = cursor.getString(AgendaActivity.INDEX_RRULE);
if (rrule != null) {
repeatContainer.setVisibility(View.VISIBLE);
} else {
repeatContainer.setVisibility(View.GONE);
}
*/
/*
// Reminder
boolean hasAlarm = cursor.getInt(AgendaActivity.INDEX_HAS_ALARM) != 0;
if (hasAlarm) {
updateReminder(view, context, begin, cursor.getLong(AgendaActivity.INDEX_EVENT_ID));
}
*/
// Where
TextView where = (TextView) view.findViewById(R.id.where);
String whereString = cursor.getString(AgendaActivity.INDEX_EVENT_LOCATION);
if (whereString != null && whereString.length() > 0) {
where.setVisibility(View.VISIBLE);
where.setText(whereString);
} else {
where.setVisibility(View.GONE);
}
|
|