Service Layer high complexity mobile
2
Dependencies
4
Dependents
1
Entities
0
Integrations

Description

Core service that abstracts all calendar platform interactions behind a single Dart interface. Delegates to the iOS EventKit platform channel or the Android ContentResolver method channel, fetches upcoming events, matches them to known contacts using name/email heuristics, and optionally writes activity entries back to the device calendar. All processing is strictly on-device.

Feature: Calendar Sync

calendar-integration-service

Responsibilities

  • Request and query calendar permission status via platform channels (EventKit on iOS, ContentResolver on Android)
  • Fetch upcoming calendar events within a configurable look-ahead window
  • Match fetched events to known contacts using name and email heuristics
  • Surface matched events as CalendarEventSuggestion objects for pre-fill in the activity wizard
  • Write calendar entries back to the device calendar for registered activities when write-back is enabled

Interfaces

requestCalendarPermission() → Future<PermissionState>
checkCalendarPermissionStatus() → Future<PermissionState>
fetchUpcomingEvents(lookAheadDays: int) → Future<List<RawCalendarEvent>>
matchEventsToContacts(events: List<RawCalendarEvent>, contacts: List<Contact>) → List<CalendarEventSuggestion>
writeActivityToCalendar(activity: Activity) → Future<void>
revokeCalendarAccess()

Related Data Entities (1)

Data entities managed by this component