5

I am looking for a recommendation for an Android calendar app that includes some essential features.

The catch is that I need it to work with offline calendars. Offline calendars are Android calendars that are not synced with Google. They are often called local calendars.

Here are the only features that are required (more advanced features are welcome, but this is all I need):

  1. Can add/edit/delete calendar events, including repeating ones.
  2. Can delete and edit individual events in a repeated series.
  3. Can edit or delete all the remaining events in a series without affecting prior events.
  4. Is not plagued by bugs.

Seems simple, right?

That's what I thought too, but I have not found anything, so I've added a bounty to this question in hopes of getting some recommendations.

Whatever app I use, I need to be able to successfully backup and restore the calendar offline. That can be done within the app itself, or by using an additional app such as Calendar Import / Export.

Although gratis and open-source software are always preferred, neither is a requirement. KitKat compatibility, on the other hand, is a requirement.

So far, I have spent hours trying all the following apps, and none of them have this basic functionality actually working:

  1. Business Calendar
  2. Business Calendar Pro
  3. Business Calendar 2
  4. Business Calendar 2 Pro
  5. aCalendar
  6. aCalendar+ Calendar & Tasks
  7. Today Calendar
  8. Today Calendar Pro
  9. Sol Calendar
  10. Jorte Calendar
  11. isoTimer
  12. vcCalendar Lite

Info you only need to read if interested:

In my testing:

  • Business Calendar 2, and Business Calendar 2 Pro appear to suffer from a serious bug that makes successful export/import impossible and poses serious privacy/security issues. See https://security.stackexchange.com/questions/124310/are-deleted-offline-calendar-events-in-android-actually-deleted

  • aCalendar and aCalendar+ Calendar & Tasks repeatedly failed to export calendar data without issues. These issues revealed what could possibly be reliability problems with how aCalendar and aCalendar+ manage the user's data.

  • Sol Calendar would not allow the user to edit or delete individual events in a repeated series. Also, although not a requirement, the UI employs mid-tone gray text in minuscule fonts on light-blue backgrounds, making the text impossible to read except in perfect lighting conditions.

  • Jorte Calendar does not depend on Android's calendar system, which made it look promising. But it would not allow the user to end a repeated event without undeleting all deleted events in the series. Although not requirements:

    • I found the UI to be poorly designed.
    • It does not allow .ics imports/exports (only .csv).
    • It requires recurring payments to the developer just to have more than one calendar.
  • isoTimer was buggy. It has it's own non-synced mode, which is nice. But editing the name of a recurring event would appear to change the name of the event (for all events in the series), but that change was not reflected when actually viewing the calendar. Also, just to backup your calendar locally, the user has to pay $1.97 every month.

  • vcCalendar Lite looked promising. It has a completely offline calendar mode that does not even use Android's calendar system. But when editing a recurring event to specify an end data, the user loses every edit they made to that series. For example, if the user had deleted the second event in the series, it will suddenly reappear.

6
  • Just to make sure, you don't need compatibility with any particular Google product, right?
    – Nicolas Raoul
    Jan 19, 2016 at 6:06
  • @NicolasRaoul What is this Google of which you speak? Jan 19, 2016 at 6:14
  • 1
    @NicolasRaoul IOW, not at all ;-) Jan 19, 2016 at 6:15
  • Maybe not possible to do everything with a single app. You could try Offline Calendar and Calendar Import/Export for managing your calendars, plus whatever calendar app you like.
    – vclaw
    May 27, 2016 at 12:05
  • @vclaw Thanks! I might have to reword the question a touch based on your feedback. What you propose is exactly what I've been trying to do, but I have not found any calendar app that can successfully perform items #1-#3 and not have so many bugs that it prevents successful export/import, even by the third party tools you mentioned. May 27, 2016 at 18:53

4 Answers 4

2

RockPaperLz - I know your post is from many years ago now, but it still has value here in 2022! In 2022, by finally moving off of my very first old smartphone from 2016, I just now learned about the dreaded Android offline calendar "marked for deletion" phenomenon. Here is how I solved my situation - which for people like you are me, is not normally encountered by most Android users (who willingly give Google their data...). My story:

As my first smartphone, I have been using until last month a really old Moto G4 (running Android 7). I always used the phone without a Google account, local calendar only. I sideloaded all apps, including Business Calendar 2. Last month, I moved to my new Pixel 4a running CalyxOS, and again using Business Calendar 2. For my phone move, I used Calendar Import-Export v2.6 from F-Droid to extract my local calendar from my old Moto G4. And surprise, I encounter the "old deleted events" in my .ics file = because my local calendar was never synced.

I considered a lot of different solutions. I tried a lot of ways, and did a lot of searching (including reading your post here!), and a lot of trial and error. Here is the secret sauce for my unique situation wherein I wanted to continue to use Business Calendar 2, but also get around the "deleted=1" junk in my never synced local calendar:

  1. Remove Calendar Import-Export v2.6 from my old Moto G4
  2. Install CalendarImportExport-v27tw.apk on my old Moto G4 (see https://github.com/SufficientlySecure/calendar-import-export/pull/91 ==> https://it-tw.de/android/CalendarImportExport-v27tw.apk)
  3. Using CalendarImportExport-v27tw.apk, get a good export of my Moto G4 local calendar (Yay! No "deleted=1" junk!!!)
  4. Get my own private CalDAV server up and running = I set up Radicale (https://radicale.org/v3.html) on my Raspberry Pi (which I use 24x7 to run Pi-Hole) NOTE = Radicale is super small, super lightweight. No big deal to run on my Pi. Radicale will also install in Windoze... I found this site a little helpful too ==> https://qasimk.io/2017/radicale-server/
  5. In my fresh Radicale CalDAV server, create a new empty calendar
  6. On my new Pixel 4a, using DAVx5 (which is already available in CalyxOS), log into my Radicale CalDAV server and connect to the new empty calendar
  7. Install Calendar Import-Export v2.6 via F-Droid on my Pixel 4a (running CalyxOS, Android 12) NOTE = I didn't care if v2.6 didn't have the ability to omit "deleted=1" events... I now possess a cleansed .ics input file thanks to the v2.7tw version! And I didn't need to worry about v2.6 possibly crashing in Android 12.
  8. Using Calendar Import-Export v2.6 I imported my cleansed .ics file created by CalendarImportExport-v27tw.apk, and directed the import to go to my new empty calendar
  9. Using DAVx5, sync my Pixel 4a with my CalDAV server = this "filled up" my calendar on my CalDAV server with my cleansed calendar (including so-called "duplicates" = see below...)

With these steps, I accomplished the following:

  1. I got clean data out from my "dirty" local calendar = no "deleted=1" junk!

  2. I was able to get my calendar data into my new phone.

  3. My new phone now should never get into the "deleted=1" twilight zone either because:

    The newer Android OS versions might not suffer from "deleted=1" stuff

    OR

    Now that I have my own CalDAV server, I can safely sync my calendar "locally", and via syncing the "deleted=1" events go bye-bye...

  4. I have a backup of my calendar on my CalDAV server, and my calendar is still "local" so-to-speak, and is still privatized as it is not getting sent somewhere else when syncing

  5. I can now share my calendar with other devices (wife's phone, my computer, etc.) if I want to

  6. I can still back up the calendar in my Pixel 4a using Calendar Import-Export v2.6

Yes, I tried importing my cleansed .ics file directly into my CalDAV server - this did not work well since I could not choose duplicate handling of "Don't check for duplicates at all, always insert all imported events" = I needed the power of Calendar Import-Export v2.6 to import all of my events, even the events which appear to be duplicates (which looked similar, but indeed were not exact duplicates and I wanted them!).

2
  • Your helpful posts are always welcome and appreciated, regardless of the age of the original question! :) Thank you for your post. It's very helpful. Upvoted. Would you mind adding, to your post, the versions of Radicale CalDAV server and DAVx5 you used? Mar 3 at 23:05
  • For some reason I'm unable to Edit my answer = maybe I'm too much of a newbie here? Thank you for the upvote! As of this writing, I installed Radicale v3.1.5, and I used DAVx5 v4.1.1-ose (www.davx5.com, available from F-Droid). Mar 5 at 8:16
1
+50

For quiet some time I'm using Personal Calendar. I wasn't sure if it supports all your requirements, so I made some quick tests:

  1. Offline calendar: Yes that was my reason to use it. With CalDAV-Sync I'm also able to synchronize it with my email provider (instead of Google cloud).
  2. Backup: Export to *.ics file.
  3. Edit events: Yes
  4. Edit events in in a repeated series: Tried it out and it worked, deleting the series with edited events was a bit tricky.
  5. Edit remaining events: Test worked.
  6. No bugs: Works like a charm. The only problem I encountered is, that the non-free version repeatedly checks the license (every week or so) and therefore needs WLAN at this moment.
10
  • 1
    Thanks so much. The developer has, perhaps accidentally, restricted his app to a very narrow locale. If the app has a feedback form, can you ask him to make it available everywhere? May 28, 2016 at 20:11
  • @RockPaperLizard - Didn't know that, too bad. You can contact him via his homepage: www.miwiapps.de the email adress you can find on the impressum page. Some time ago he even sent me the newest *.apk file to make some tests. If the language should be a problem, I will gladly help you out. May 29, 2016 at 10:16
  • 1
    @RockPaperLizard - I had short email contact with the developer, and he was willing to publish it in other countries too. After the play store has synchronized the app information, you should be able to download and test it. Jun 1, 2016 at 5:48
  • Thank you! That's kind of both of you! I just got it. I see the export requires a reasonable 1-time payment (which is fine), but before I pay, would you mind creating a new offline calendar, make 2 events in it, and then delete the first one. Then perform an export and see if the export contains 1 or 2 events. Of course, it should have only 1, but Business Calendar 2 Pro fails at this simple test. So before I buy yet another useless app, do you have a moment to give it a quick try? Jun 1, 2016 at 6:28
  • 1
    @RockPaperLizard - That's not a secret, but i doubt it helps you a lot, because it is a german site www.gmx.net. Actually every provider supporting the CalDav protocol can be used to synchronize a calendar. Jun 2, 2016 at 7:52
1

I think Etar deserves a mention.

Edit: I noticed deleted events (even from years ago) in my .ics export, like you mentioned. I investigated, and initially thought that the problem didn't happen with Etar, so I mistakenly thought Samsung's S Planner was the culprit. However, I tried to reproduce the problem again, and found out that whether this problem occurs probably depends on the version of the com.android.providers.calendar (Calendar Storage) system app. I've updated the answer at security.stackexchange.com to reflect this as well.

With some other apps (like Samsung's S Planner) I noticed the same export issue that you mention (about deleted events still appearing in calendar exports). Etar doesn't suffer from the same issue, deleted events are properly cleaned up (even if you use local/offline calendars rather than cloud-based calendars).

The problem can observed by using the Calendar Import-Export app, and looking at the event counter. After deleting an event, it didn't decrease for me when using S Planner, but it does decrease when using Etar. So Etar does properly clean up.

Related:

1
0

One of the best FOSS personal info management apps on Android are Simple Mobile Tools. Simple Calendar Pro (com.simplemobiletools.calendar.pro, available @ F-Droid), for example, is able to import birthdays ftom contacts. Or, you could manage them manually. I use it from F-Droid on LineageOS 18.1. It is much feature-richer than the ROM's default Calendar org.lineageos.etar app.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.