FileDocCategorySizeDatePackage
AgendaAdapter.javaAPI DocAndroid 1.5 API6285Wed May 06 22:42:42 BST 2009com.android.calendar

AgendaAdapter

public 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 voidbindView(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);
        }