mirror of
https://github.com/bitfireAT/davx5-ose
synced 2024-07-23 11:39:15 +00:00
f9d6bb153c
Closes bitfireAT/davx5#14 * extract WorkManager util functions and kdoc * add PeriodicSyncWorker * refactor and some kdoc * use PeriodicSyncWorker and add todos * allow SyncAdapter arguments to be passed to SyncWorker and have re-synchronization use SyncWorker * handle sync cancellation in AccountSetting migration * handle sync cancellation when account is renamed * remove sync frameworks global sync setting and sync state awareness for the GUI * Observe sync worker status in AccountListFragment * Create setup for stepwise refactor of the sync adapters. This should keep the app from failing to build. * Create new abstract BaseSyncer class for generic sync code. Adapt consumers and tests to use the new class. * Move calender sync code to new CalenderSyncer class which is independent from the sync framework * In CalendarSyncAdapterService pass sync requests from Sync Adapter Framework to SyncWorker * Use CalenderSyncer in SyncWorker * Move contacts sync code to new ContactsSyncer class. * Move address book sync code to new AddressBookSyncer class * Move jtx sync code to new JtxSyncer class * Move tasks sync code to new TaskSyncer class * Remove duplicate code in inherited sync adapters. * Remove refactoring helper interface, duplicate generic sync code and some linting. * Adapt tests for new Syncer class and move to the new package * Remove remaining duplicate code in SyncAdapterService, add todos and edit kdoc. * Move all the single line sync adapter services into one file. * Remove concurrent sync runner code and its test, as we now use WorkManagers one time work requests. * Remove SAF manual sync flag usage where unnecessary. * Drop ability to prioritise collections for sync, as not used and hindering removal of sync adapter arguments. * Pass simple string array to SyncWorker instead of bundle to simplify code. * Restructure work query code. * Get debug info from account settings and WorkManager. * Write tests for PeriodicSyncWorker * Test account creation will set a default sync interval for CardDAV and CalDAV * Throw an exception if accountManager returns null for sync interval value * Do proper interval check and add tests for AccountSettings * Use work manager query to determine whether work is in a specific state * [WIP] Add test to check that task provider is configured correctly on account creation * Edit test checking that task sync is configured correctly on account creation with/without installed task app(s), by mocking TaskUtil * Edit test such that it does not require a flaky flag * Remove periodic sync when tasks app is uninstalled * Bring back content triggered syncs * Rename enqueueSyncWorker method to enqueue only for clarity * Enable SyncAdapterFramework to cancel running SyncWorker * Add test ensuring that SyncWorker.onStopped() interrupts the running sync thread * Add retry policy sync on soft errors * Check users sync conditions before enqueueing SyncWorker * Add test for whether user sync conditions are treated correctly and kdoc * Rename ambiguous shorthand "SAF" to "SyncFramework", as SAF usually means StorageAccessFramework * Migration: Disable sync framework periodic syncs when interval is changed for specified authority * Add Workers info to debug info * Use WorkInfo.runAttemptCount to fail work after 20 soft errors * Notify user if retry limit for soft errors has been reached * Remove left over concurrency sync run tests prevention * Migration: Continue to remove periodic sync framework syncs until user migration to PeriodicSyncWorker syncs is complete * Kdoc and small changes * Migration: Change to hard migration strategy * Drop repairSyncIntervals method in favor of hard migration strategy * Improve debug info of workers * Remove sync framework periodic syncs, created by enabling content triggered syncs * Change minimum sync interval to 15 min; minor other changes * Fix tests * Implement requested changes and update kdoc * Add network connectivity restrictions to PeriodicSyncWorker * Minor changes * Move back sync classes to syncadapter package for now (can be separated later) * Add KDoc * Changes from review * Rename test methods * Add back global sync status warning Co-authored-by: Ricki Hirner <hirner@bitfire.at> |
||
---|---|---|
.. | ||
schemas/at.bitfire.davdroid.db.AppDatabase | ||
src | ||
.gitignore | ||
build.gradle | ||
lint.xml | ||
proguard-rules-release.pro |