Calendars
    class Calendars : BaseColumns, CalendarContract.CalendarColumns, CalendarContract.SyncColumns
    
    Constants and helpers for the Calendars table, which contains details for individual calendars. 
      
Operations
 All operations can be done either as an app or as a sync adapter. To perform an operation as a sync adapter 
CALLER_IS_SYNCADAPTER should be set to true and 
ACCOUNT_NAME and 
ACCOUNT_TYPE must be set in the Uri parameters. See 
Uri.Builder.appendQueryParameter(java.lang.String, java.lang.String) for details on adding parameters. Sync adapters have write access to more columns but are restricted to a single account at a time. Calendars are designed to be primarily managed by a sync adapter and inserting new calendars should be done as a sync adapter. For the most part, apps should only update calendars (such as changing the color or display name). If a local calendar is required an app can do so by inserting as a sync adapter and using an 
ACCOUNT_TYPE of 
ACCOUNT_TYPE_LOCAL . 
      
 
        - Insert
 
 
        - When inserting a new calendar the following fields must be included: 
          
 The following fields are not required when inserting a Calendar but are generally a good idea to include: 
          
 
 
        - Update
 
 
        - To perform an update on a calendar the 
_ID of the calendar should be provided either as an appended id to the Uri ( ContentUris.withAppendedId) or as the first selection item--the selection should start with "_id=?" and the first selectionArg should be the _id of the calendar. Calendars may also be updated using a selection without the id. In general, the ACCOUNT_NAME and ACCOUNT_TYPE should not be changed after a calendar is created as this can cause issues for sync adapters.  
        - Delete
 
 
        - Calendars can be deleted either by the 
_ID as an appended id on the Uri or using any standard selection. Deleting a calendar should generally be handled by a sync adapter as it will remove the calendar from the database and all associated data (aka events). 
 
        - Query
 
 
        - Querying the Calendars table will get you all information about a set of calendars. There will be one row returned for each calendar that matches the query selection, or at most a single row if the 
_ID is appended to the Uri. 
 
 
      Calendar Columns
 The following Calendar columns are writable by both an app and a sync adapter. 
      
 The following Calendars columns are writable only by a sync adapter 
      
    
    Summary
    
      
        
          | Constants | 
        
        
          | static String | 
          
            
             The default location for the calendar. 
           | 
        
        
          | static String | 
          
            
             The default sort order for this table 
           | 
        
        
          | static String | 
          
            
             The name of the calendar. 
           | 
        
      
    
    
      
        
          | Inherited constants | 
        
        
          
            From class SyncColumns
              
                
                  
                    String | 
                    ACCOUNT_NAME
                      
                         The account that was used to sync the entry to the device. If the account_type is not ACCOUNT_TYPE_LOCAL then the name and type must match an account on the device or the calendar will be deleted.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    ACCOUNT_TYPE
                      
                         The type of the account that was used to sync the entry to the device. A type of ACCOUNT_TYPE_LOCAL will keep this event form being deleted if there are no matching accounts on the device.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAN_PARTIALLY_UPDATE
                      
                         If set to 1 this causes events on this calendar to be duplicated with Events.LAST_SYNCED set to 1 whenever the event transitions from non-dirty to dirty. The duplicated event will not be expanded in the instances table and will only show up in sync adapter queries of the events table. It will also be deleted when the originating event has its dirty flag cleared by the sync adapter.  
                        Type: INTEGER (boolean) 
                      
                     | 
                   
                  
                    String | 
                    DELETED
                      
                         Whether the row has been deleted but not synced to the server. A deleted row should be ignored.  
                         Type: INTEGER (boolean)  
                      
                     | 
                   
                  
                    String | 
                    DIRTY
                      
                         Used to indicate that local, unsynced, changes are present.  
                        Type: INTEGER (long) 
                      
                     | 
                   
                  
                    String | 
                    MUTATORS
                      
                         Used in conjunction with DIRTY to indicate what packages wrote local changes.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    _SYNC_ID
                      
                         The unique ID for a row assigned by the sync source. NULL if the row has never been synced. This is used as a reference id for exceptions along with BaseColumns._ID.  
                        Type: TEXT 
                      
                     | 
                   
                
               
             
           | 
        
        
          
            From class CalendarColumns
              
                
                  
                    String | 
                    ALLOWED_ATTENDEE_TYPES
                      
                         A comma separated list of attendee types supported for this calendar in the format "#,#,#". Valid types are Attendees.TYPE_NONE, Attendees.TYPE_OPTIONAL, Attendees.TYPE_REQUIRED, Attendees.TYPE_RESOURCE. Setting this field to only Attendees.TYPE_NONE should be used to indicate that changing the attendee type is not supported. 
                      
                     | 
                   
                  
                    String | 
                    ALLOWED_AVAILABILITY
                      
                         A comma separated list of availability types supported for this calendar in the format "#,#,#". Valid types are Events.AVAILABILITY_BUSY, Events.AVAILABILITY_FREE, Events.AVAILABILITY_TENTATIVE. Setting this field to only Events.AVAILABILITY_BUSY should be used to indicate that changing the availability is not supported. 
                      
                     | 
                   
                  
                    String | 
                    ALLOWED_REMINDERS
                      
                         A comma separated list of reminder methods supported for this calendar in the format "#,#,#". Valid types are Reminders.METHOD_DEFAULT, Reminders.METHOD_ALERT, Reminders.METHOD_EMAIL, Reminders.METHOD_SMS, Reminders.METHOD_ALARM. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CALENDAR_ACCESS_LEVEL
                      
                         The level of access that the user has for the calendar  
                        Type: INTEGER (one of the values below) 
                      
                     | 
                   
                  
                    String | 
                    CALENDAR_COLOR
                      
                         The color of the calendar. This should only be updated by the sync adapter, not other apps, as changing a calendar's color can adversely affect its display.  
                        Type: INTEGER (color value) 
                      
                     | 
                   
                  
                    String | 
                    CALENDAR_COLOR_KEY
                      
                         A key for looking up a color from the Colors table. NULL or an empty string are reserved for indicating that the calendar does not use a key for looking up the color. The provider will update CALENDAR_COLOR automatically when a valid key is written to this column. The key must reference an existing row of the Colors table. @see Colors  
                         Type: TEXT  
                      
                     | 
                   
                  
                    String | 
                    CALENDAR_DISPLAY_NAME
                      
                         The display name of the calendar. Column name.  
                         Type: TEXT  
                      
                     | 
                   
                  
                    String | 
                    CALENDAR_TIME_ZONE
                      
                         The time zone the calendar is associated with.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_CONTRIBUTOR
                      
                         Full access to modify the calendar, but not the access control settings 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_EDITOR
                      
                         Full access to modify the calendar, but not the access control settings 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_FREEBUSY
                      
                         Can only see free/busy information about the calendar 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_NONE
                      
                         Cannot access the calendar 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_OVERRIDE
                      
                         not used 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_OWNER
                      
                         Full access to the calendar 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_READ
                      
                         Can read all event details 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_RESPOND
                      
                         Can reply yes/no/maybe to an event 
                      
                     | 
                   
                  
                    Int | 
                    CAL_ACCESS_ROOT
                      
                         Domain admin 
                      
                     | 
                   
                  
                    String | 
                    CAN_MODIFY_TIME_ZONE
                      
                         Can the organizer modify the time zone of the event? Column name.  
                        Type: INTEGER (boolean) 
                      
                     | 
                   
                  
                    String | 
                    CAN_ORGANIZER_RESPOND
                      
                         Can the organizer respond to the event? If no, the status of the organizer should not be shown by the UI. Defaults to 1. Column name.  
                        Type: INTEGER (boolean) 
                      
                     | 
                   
                  
                    String | 
                    IS_PRIMARY
                      
                         Is this the primary calendar for this account. If this column is not explicitly set, the provider will return 1 if Calendars.ACCOUNT_NAME is equal to Calendars.OWNER_ACCOUNT. 
                      
                     | 
                   
                  
                    String | 
                    MAX_REMINDERS
                      
                         The maximum number of reminders allowed for an event. Column name.  
                        Type: INTEGER 
                      
                     | 
                   
                  
                    String | 
                    OWNER_ACCOUNT
                      
                         The owner account for this calendar, based on the calendar feed. This will be different from the _SYNC_ACCOUNT for delegated calendars. Column name.  
                        Type: String 
                      
                     | 
                   
                  
                    String | 
                    SYNC_EVENTS
                      
                         Is this calendar synced and are its events stored on the device? 0 - Do not sync this calendar or store events for this calendar. 1 - Sync down events for this calendar.  
                        Type: INTEGER (boolean) 
                      
                     | 
                   
                  
                    String | 
                    VISIBLE
                      
                         Is the calendar selected to be displayed? 0 - do not show events associated with this calendar. 1 - show events associated with this calendar  
                        Type: INTEGER (boolean) 
                      
                     | 
                   
                
               
             
           | 
        
        
          
            From class CalendarSyncColumns
              
                
                  
                    String | 
                    CAL_SYNC1
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC10
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC2
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC3
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC4
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC5
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC6
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC7
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC8
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                  
                    String | 
                    CAL_SYNC9
                      
                         Generic column for use by sync adapters. Column name.  
                        Type: TEXT 
                      
                     | 
                   
                
               
             
           | 
        
        
          | 
            
           | 
        
      
    
    
      
        
          | Properties | 
        
        
          | static Uri! | 
          
            
             The content:// style URL for accessing Calendars 
           | 
        
        
          | static Uri | 
          
            
             The content:// style URL for querying Calendars table in the managed profile. 
           | 
        
      
    
    Constants
    
      CALENDAR_LOCATION
      
      static val CALENDAR_LOCATION: String
      The default location for the calendar. Column name. 
      Type: TEXT
      Value: "calendar_location"
     
    
      DEFAULT_SORT_ORDER
      
      static val DEFAULT_SORT_ORDER: String
      The default sort order for this table
      Value: "calendar_displayName"
     
    
      NAME
      
      static val NAME: String
      The name of the calendar. Column name. 
      Type: TEXT
      Value: "name"
     
    Properties
    
      CONTENT_URI
      
      static val CONTENT_URI: Uri!
      The content:// style URL for accessing Calendars
     
    
      ENTERPRISE_CONTENT_URI
      
      static val ENTERPRISE_CONTENT_URI: Uri
      The content:// style URL for querying Calendars table in the managed profile. Appending a calendar id using ContentUris.withAppendedId(Uri, long) specifies a single calendar. 
      The following columns are allowed to be queried via this uri: 
      
 
      IllegalArgumentException is thrown if there exists columns in the projection of the query to this uri that are not contained in the above list. 
      This uri returns an empty cursor if the calling user is not a parent profile of a managed profile, or the managed profile is disabled, or cross-profile calendar is disabled in Settings, or this uri is queried from a package that is not allowed by the profile owner of the managed profile via DevicePolicyManager.setCrossProfileCalendarPackages(ComponentName, Set). 
      Apps can register a android.database.ContentObserver for this URI to listen to changes.