spacecowboy / spacecowboy/NotePad
Android calendar synchronization
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 409
- Forks
- 161
- PR merge metrics
- No merged PRs in 30d
Description
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
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Android Calendar Provider documentation, the Simple Calendar source, and the linked two-part tutorial. Then inspect this repository’s SD sync adapter and the existing synchronization infrastructure before defining the domain mapping. Done means a calendar-provider sync adapter can exchange notes, due dates, and reminders with a user-selected calendar, with corner cases tested and the feature released.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100