* [WIP] Move local collection management from companion objects to LocalDataStore
* Move Syncer.getLocalCollections to LocalDataStore.getAll()
- note that things like the "sync_enabled" Android calendar flag are not supported and always set to true
* Minor changes
* Implement LocalJtxCollectionStore
* Implement LocalTaskListStore
* Fix tests
* Drop initialUserData
* Address book read-only applies to entries of address book itself, so moving to LocalAddressBook
* KDoc, shouldBeReadOnly
* Test accountName
* Remove obsolete address book factory
* Test create address book
* Test createAccount
---------
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>
* Upgrade dav4jvm
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* separate CalendarTimezone and CalendarTimezoneId
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Fixed timezone name setting
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Fixed `VTIMEZONE` conversion
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Using text instead of CDATA
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Fixed spec
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Added comment
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Renamed `timezoneDef` to `timezoneId`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Upgrade dav4jvm
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* separate CalendarTimezone and CalendarTimezoneId
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Fixed timezone name setting
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Fixed `VTIMEZONE` conversion
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Using text instead of CDATA
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Fixed spec
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Added comment
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Renamed `timezoneDef` to `timezoneId`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* [CI] Update workflows to Java 21
* Set default value of the timezone state to null
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
* Acquire account settings via address book account
* Extract the code to find an address books main account to the account repository
* Use collection id as reference in address book account
* Remove obsolete baos
* Find main account directly from collection in SyncManager
* Require main account to get account settings
* Stop deleting address book accounts without a main account, since they may exist on their own now
* Require content provider and introduce static deleteByCollection method
* Update KDoc
* Show all address book accounts separately
* Drop mainAccount method
* [DI] Use AssistedInject for LocalAddressBook
* Renaming, remove "main account" concept
* Fix debug info
* AccountsCleanupWorker: Rename main account to account
* Further remove main accounts
* Reduce redundancy
* AccountSettings: check account type
* AccountSettingsMigrations: drop v5 -> v6 migration (not tested anyway)
* AccountRepository: directly delete accounts
* Remove obsolete workerAccount
* Get all address books, even if not sync enabled
* Delete orphan address book accounts
* Rename two more occurrences of main account concept
* AccountSettings: allow test accounts
* Syncer: rename methods for clarity, add KDoc
* Drop empty test class
* Make code more readable and add comment
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
* Update ical4android
* Use standard content provider in TaskSyncer
* Check version instead of acquiring TaskProvider
* Add sync result error
---------
Co-authored-by: Arnau Mora <arnyminerz@proton.me>
* Use address book contacts content provider provided by syncer
* Close any acquired content provider after sync
* Acquire/Check task provider provider as preparation step
* Provide sync arguments at syncer creation
* Acquire ContentProviderClient in syncer implementations
* Generalize sync algorithm in Syncer
* Use contacts authority for address books
* Generalize sync algorithm in CalendarSyncer
* Generalize sync algorithm in SyncerTest
* Generalize sync algorithm in TaskSyncer
* Rename preparation method and add an after sync method
* Generalize sync algorithm in JtxSyncer
* Generalize sync algorithm in AddressBookSyncer
* Use repositories instead of DAOs
* Replace deprecated log statements
* Use generic type for collection types
* Infer authorities when possible and pass only task authorities along
* No need to close TaskProvider explicitly
* Use colors only where needed
* Use provider with auto closable
* Get sync collections in syncer implementations
* Delete syncer test
* Pass provider through methods instead of using lateinit property
* Reorder constructor arguments
* Remove trailing commas
* Remove obsolete undocumented conditional
* Reorder methods
* Reorder methods
* Abort sync when preparations fail
* Drop obsolete permission check
* Use generics for url and delete
* Use generic for update
* Use generic for syncCollection
* Rename create to createCollection for consistency
* Revert "Rename create to createCollection for consistency"
This reverts commit 0fee4fe7fcf3ec8ef965c9a2e0db991a1bbbbcf7.
* Revert "Use generic for syncCollection"
This reverts commit ae129fd17e06146a1e9f8631e3cdbd2dc0a4db06.
* Revert "Use generic for update"
This reverts commit 42dd665851ba83a75bb498b98bd56624e2b09647.
* Revert "Use generics for url and delete"
This reverts commit 7ae1425039656d4a9937628ca1799ce8c59ceebb.
* Move delete() to LocalCollection
* Move url to LocalCollection
* Fix local test collection
* Minor changes
* Minor changes
- make sync private
- use to autoclose provider
* Query for sync collections once only
* Add KDoc and update comments
* Make property a local variable
* Update KDoc
* Add back ose conditional
* Remove blank line at beginning of method
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
* Update dnsjava, use desugaring with nio, refactor DNS resolving
* KDoc
* Rewrite bestSRVRecord test
* Add pathsFromTXTRecords tests
* Add desugaring note
* Rename @AssistedFactory method to "create"
* testBestSRVRecord_MultipleRecords_Priority_Same: broaden range for distribution
* Migrated into to compose
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Got rid of AppIntro
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Imports cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Imports cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Removed padding
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* When launching intro, going back closes the app
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added content description
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Moved IntroActivity.Model to IntroModel
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Given fixed padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Moved intro composables together
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Do not create new task
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Minor changes
* Remove last XML styles that were required for AppIntro
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
* [wip] Create worker for push registration and call it from someplace in UI
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* [wip] Subscription registration request
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Don't enqueue push registration worker from UI
* Enqueue PushRegistrationWorker on collection changes
* Fix tests
* Update dav4jvm; Use new post method
* Remove obsolete context
* Add get and deleteAll methods to serviceRepository and update usages
* requestPushRegistration: make endpoint an argument
* Update push subscription fields in DB on successful registration
* Don't create notification channels in test class
* Remove workmanager init and provide empty set of listeners in tests
* Require network connection to run PushRegistrationWorker
* Move module declaration to a separate TestModules interface
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>