The contract between the calendar provider and applications. Contains
definitions for the supported URIs and data columns.
CalendarContract defines the data model of calendar and event related
information. This data is stored in a number of tables:
The CalendarContract.Calendars table holds the calendar specific information. Each
row in this table contains the details for a single calendar, such as the
name, color, sync info, etc.
The CalendarContract.Events table holds the event specific information. Each row
in this table has the info for a single event. It contains information such
as event title, location, start time, end time, etc. The event can occur
one-time or can recur multiple times. Attendees, reminders, and extended
properties are stored on separate tables and reference the _ID
to link them with the event.
The CalendarContract.Instances table holds the start and end time for occurrences
of an event. Each row in this table represents a single occurrence. For
one-time events there will be a 1:1 mapping of instances to events. For
recurring events, multiple rows will automatically be generated which
correspond to multiple occurrences of that event.
The CalendarContract.Attendees table holds the event attendee or guest
information. Each row represents a single guest of an event. It specifies the
type of guest they are and their attendance response for the event.
The CalendarContract.Reminders table holds the alert/notification data. Each row
represents a single alert for an event. An event can have multiple reminders.
The number of reminders per event is specified in
MAX_REMINDERS which is set by the Sync Adapter that owns
the given calendar. Reminders are specified in minutes before the event and
have a type.
The CalendarContract.ExtendedProperties table holds opaque data fields used by the
sync adapter. The provider takes no action with items in this table except to
delete them when their related events are deleted.
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.
A special account type for calendars not associated with any account.
Normally calendars that do not match an account on the device will be
removed. Setting the account_type on a calendar to this will prevent it
from being wiped if it does not match an existing account.
An optional insert, update or delete URI parameter that allows the caller
to specify that it is a sync adapter. The default value is false. If set
to true, the modified row is not marked as "dirty" (needs to be synced)
and when the provider calls
notifyChange(android.net.Uri, android.database.ContentObserver, boolean)
, the third parameter "syncToNetwork" is set to false. Furthermore, if
set to true, the caller must also include
ACCOUNT_NAME and ACCOUNT_TYPE as