NotePad
NotePad copied to clipboard
Android calendar synchronization
This issue tracks all progress related to our interface to synchronize with the android calendar:
- this app has a synchronization infrastructure that supports many backends
- as of now, only SD card sync is implemented. There used to be Dropbox and Goole tasks backends, but they are deprecated
#120 tracks a discarded attempt at implementing CalDAV sync. However, we need to interface with the android calendar provider, which will save our notes to/from a calendar.
This calendar will be visible to all calendar apps, including:
- Google calendar https://play.google.com/store/apps/details?id=com.google.android.calendar
- Fossify calendar https://f-droid.org/it/packages/org.fossify.calendar/
- Etar https://f-droid.org/en/packages/ws.xsoh.etar/
- Simple Calendar https://f-droid.org/en/packages/com.simplemobiletools.calendar.pro/
- Persian Calendar https://f-droid.org/en/packages/com.byagowi.persiancalendar/
This accomplishes 2 goals:
- have a system to exchange data with an android calendar, so that our app can work with other calendar apps
- allow users of apps like DAVx5 to synchronize our notes to a server by synchronizing the calendar
[!WARNING] As of now we are not working on this feature, since nobody has shown any interest in it.
Resources
- Simple Calendar source code: https://github.com/SimpleMobileTools/Simple-Calendar
- Calendar provider documentation: https://developer.android.com/guide/topics/providers/calendar-provider?hl=en
- a 2 part tutorial https://github.com/hanmajid/modern-android-samples/tree/master/calender-provider
Possibile implementation roadmap:
- [ ] install Etar, create an offiline calendar, and fill it with events and reminders
- [ ] install another calendar app and confirm that the events and reminders can be viewed with that app, too
- [ ] implement, in this repository, a client for the android calendar provider. Start by reading the 3 links above
- [ ] choose how to map the domain concepts of our app into the calendar
- [ ] try to read calendar events and save them as notes in our app. For example, can our app read holidays dates from a calendar and show them as notes ?
- [ ] try to send our notes (with due dates) and reminders to the calendar
- [ ] write a sync adapter, similar to the SD sync adapter, that uses an user-chosen calendar as backend
- [ ] test all corner cases
- [ ] release the finished feature