feat(backup): automatic periodic .ics export of local calendars (#8)
Scheduled one-way export of local calendars to a user-chosen folder, overwriting calendula-backup.ics each run — the manual backup, automated. Not a sync; stays INTERNET-free (provider reads + local file write). - WorkManager periodic job (deps: work-runtime-ktx, documentfile); worker pulls collaborators via a Hilt @EntryPoint, so no custom WorkerFactory wiring. First periodic run is delayed one interval so it can't race the immediate "run now" feedback run; the writer also overwrites the canonical file and cleans up any "(1)" duplicates from earlier races. - SettingsPrefs: enabled, interval (minutes, floored at 30), folder Uri, last-run status; persisted SAF write grant. - UI in Calendars > Backup: toggle, folder picker, amount+unit interval dialog, last-run status line. Notifies after repeated failures. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -152,6 +152,9 @@ dependencies {
|
||||
|
||||
implementation(libs.androidx.datastore.preferences)
|
||||
|
||||
implementation(libs.androidx.work.runtime.ktx)
|
||||
implementation(libs.androidx.documentfile)
|
||||
|
||||
implementation(libs.androidx.glance.appwidget)
|
||||
implementation(libs.androidx.glance.material3)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user