Git Product home page Git Product logo

device_calendar's Introduction

Device Calendar Plugin

pub package Build Status

A cross platform plugin for modifying calendars on the user's device.

Features

  • Ability to request permissions to modify calendars on the user's device
  • Ability to check if permissions to modify the calendars on the user's device have been granted
  • Ability to add or retrieve calendars on the user's device
  • Retrieve events associated with a calendar
  • Ability to add, update or delete events from a calendar
  • Ability to set up, edit or delete recurring events
    • NOTE: Editing a recurring event will currently edit all instances of it
    • NOTE: Deleting multiple instances in Android takes time to update, you'll see the changes after a few seconds
  • Ability to add, modify or remove attendees and receive if an attendee is an organiser for an event
  • Ability to setup reminders for an event
  • Ability to specify a time zone for event start and end date
    • NOTE: Due to a limitation of iOS API, single time zone property is used for iOS (event.startTimeZone)
    • NOTE: For the time zone list, please refer to the TZ database name column on Wikipedia
    • NOTE: If the time zone values are null or invalid, it will be defaulted to the device's current time zone.

Android Integration

The following will need to be added to the manifest file for your application to indicate permissions to modify calendars a needed

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />

If you have Proguard enabled, you may need to add the following to your configuration (thanks to Britannio Jarrett who posted about it here)

-keep class com.builttoroam.devicecalendar.** { *; }

If you want to enable Proguard, please refer to the guide at Android Developer page

If you consider to publish the app and build a release version you have to enable Proguard. Follow these steps: here.

IMPORTANT: Since version 0.1.0, this version has migrated to use AndroidX instead of the deprecated Android support libraries. When using version 0.10.0 and onwards for this plugin, please ensure your application has been migrated following the guide here

iOS Integration

For iOS 10 support, you'll need to modify the Info.plist to add the following key/value pair

<key>NSCalendarsUsageDescription</key>
<string>INSERT_REASON_HERE</string>

Note that on iOS, this is a Swift plugin. There is a known issue being tracked here by the Flutter team, where adding a plugin developed in Swift to an Objective-C project causes problems. If you run into such issues, please look at the suggested workarounds there.

device_calendar's People

Contributors

maikub avatar bhl09 avatar mkieres avatar nickrandolph avatar carlosdigio avatar alvaromarco avatar tcd93 avatar ryanhz avatar duzenko avatar oli06 avatar blehr avatar nadavfima avatar fmatera-duckma avatar laura-digio avatar plateria avatar pranjal2041 avatar ghigh avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.