First stable release. Merging this bumps versionName to 1.0.0 and triggers the release pipeline (F-Droid, Codeberg, Play). **App** - CalDAV sync built in, with Agendula's own task store; OpenTasks / tasks.org stay available and can be copied over in Settings → Storage - repeating tasks, several reminders per task, lists managed in the app, iCalendar import/export, widget and Quick Settings tile - a list can be kept out of the smart lists (#18) and gets its own notification channel (#17) - duplicate a task with its subtasks (#16) - HTML descriptions shown as plain text (#15) - relative day words in reminder notifications (#14) - asks for exact-alarm access instead of claiming USE_EXACT_ALARM, and re-arms reminders when that access changes **Release plumbing** - floret-kit bumped to v0.4.0; the old pin was never pushed, so a clean clone couldn't check out the submodule. 0.4.0 drops CrashConfig.issueTitle (crash issues are always filed in English) - prebuilt .so files ship unstripped, so the build no longer depends on whether an NDK is installed; now checked by check_reproducible_release.sh - official F-Droid recipe in docs/fdroid-official/, to submit to fdroiddata once v1.0.0 is tagged - Google Play: fastlane uploads the AAB and every locale's What's New after the F-Droid release; a separate listing lane pushes text and graphics from the fastlane tree, which CI now checks against Play's limits - store listing: title "Agendula: Tasks" in every locale, icon, feature graphic, screenshots and 1.0.0 changelogs in en-US, en-GB, de-DE and pt-BR crash_report_issue_title is now unused but stays until Weblate removes the translated copies. Closes #14, closes #15, closes #16, closes #17, closes #18 Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de> Reviewed-on: https://codeberg.org/jlmakiola/agendula/pulls/20
23 lines
1.1 KiB
Prolog
23 lines
1.1 KiB
Prolog
# Keep Hilt-generated classes
|
|
-keep class dagger.hilt.** { *; }
|
|
-keep @dagger.hilt.android.HiltAndroidApp class *
|
|
|
|
# Room instantiates its generated <Database>_Impl reflectively through a no-arg
|
|
# constructor. R8 under AGP 9 keeps the class but prunes that constructor, since
|
|
# nothing calls it directly — Room then throws InstantiationException, reported
|
|
# as "Failed to create an instance of ...". This first bit us through a
|
|
# transitive Room (Glance -> WorkManager -> WorkDatabase, built at startup:
|
|
# issue #1); Glance is gone and Room is now our own task store, so the rule
|
|
# matters more, not less — TasksDatabase is built on the first store read.
|
|
-keep class * extends androidx.room.RoomDatabase { <init>(); }
|
|
|
|
# Compose Compiler may keep its own; defaults are fine
|
|
-dontwarn org.jetbrains.annotations.**
|
|
|
|
# dnsjava (CalDAV SRV/TXT discovery) references JNA, JNDI, Lombok and SLF4J
|
|
# bindings that only exist on desktop JVMs; its Android resolver needs none.
|
|
-dontwarn com.sun.jna.**
|
|
-dontwarn javax.naming.**
|
|
-dontwarn lombok.Generated
|
|
-dontwarn org.slf4j.impl.StaticLoggerBinder
|