device_calendar 0.2.2

  • Readme
  • Changelog
  • Example
  • Installing
  • 91

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
  • 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 recurring events (NOTE: deleting a recurring event will currently delete all instances of it)

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" />

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.

0.2.2 19th August 2019 #

  • Add support for specifying the location of an event. Thanks to oli06 and zemanux for submitting PRs to add the functionality to iOS and Android respectively

0.2.1+1 5th August 2019 #

  • Fixing date in changelog for version 0.2.1

0.2.1 5th August 2019 #

  • [Android] Fixes issue 101 where plugin results in a crash with headless execution

0.2.0 30th July 2019 #

  • Add initial support for recurring events. Note that currently editing or deleting a recurring event will affect all instances of it. Future releases will look at supporting more advanced recurrence rules
  • BREAKING CHANGE [Android] Updated to use Gradle plugin to 3.4.2, Gradle wrapper to 5.1.1, Kotlin version to 1.3.41 and bumped Android dependencies
  • Remove old example app to avoid confusion

0.1.3 5th July 2019 #

  • [iOS] Fixes issue 94 that occurred on 32-bit iOS devices around date of events. Thanks to the PR submitted by duzenko

0.1.2+2 28th May 2019 #

  • Non-functional release. Minor refactoring in Android code to address issues found in Codefactor and fix build status badge in README

0.1.2+1 17th May 2019 #

  • Non-functional release. Fixed formatting in changelog and code comments
  • Added more info about potential issues in consuming the plugin within an Objective-C project

0.1.2 - 16th May 2019 #

  • [Android] An updated fix to address issue 79, thanks to the PR submitted by Gerry High

0.1.1 - 1st March 2019 #

  • Fixed issue 79 where on Android, the plugin was indicating that it was handling permissions that it shouldn't have

0.1.0 - 26th February 2019 #

  • BREAKING CHANGE Migrated to the plugin to use AndroidX instead of the deprecated Android support libraries. Please ensure you have migrated your application following the guide here
  • BREAKING CHANGE Updated Kotlin to version 1.3.21
  • BREAKING CHANGE Updated Gradle plugin to 3.3.1 and distribution to 4.10.2

0.0.8 - 26th February 2019 #

  • This was a breaking change that should've been incremented as minor version update instead of a patch version update. See changelog for 0.1.0 for the details of this update

0.0.7 - 16th November 2018 #

  • Fixes issue #67 and #68. Thanks to PR submitted by huzhiren.

0.0.6 - 18th June 2018 #

  • [iOS] Fix an issue when adding/updating an event with a null description

0.0.5 - 14th June 2018 #

  • [Android] Fixed an issue with retrieving events by id only

0.0.4 - 12th June 2018 #

  • Reordering changelog
  • Creating new example for the Pub Dart Example tab
  • Moving existing example to the example_app GitHub folder

0.0.2 - 0.0.3 - 7th June 2018 #

  • Fixing incorrect Travis build links

0.0.1 - 7th June 2018 #

  • Ability to retrieve device calendars
  • CRUD operations on calendar events

example/README.md

device_calendar_example #

Demonstrates how to use the device_calendar plugin.

Getting Started #

For help getting started with Flutter, view our online documentation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  device_calendar: ^0.2.2

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:device_calendar/device_calendar.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
91
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
80
Overall:
Weighted score of the above. [more]
91
Learn more about scoring.

We analyzed this package on Nov 22, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.6.1
  • pana: 0.12.21
  • Flutter: 1.9.1+hotfix.6

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Fix lib/src/device_calendar.dart. (-0.50 points)

Analysis of lib/src/device_calendar.dart reported 1 hint:

line 25 col 3: The member '_createInstance' is annotated with 'visibleForTesting', but this annotation is only meaningful on declarations of public members.

Format lib/src/models/recurrence_rule.dart.

Run flutter format to format lib/src/models/recurrence_rule.dart.

Maintenance issues and suggestions

Homepage URL doesn't exist. (-20 points)

At the time of the analysis the homepage field https://github.com/builttoroam/flutter_plugins/tree/develop/device_calendar was unreachable.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.2 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.7 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test