Feature/workmanager
See issue for details: #153
- Replaces background scheduling implementation. We now use android workmanager
- Removes all the boilerplate code with syncadapter.
- Introduces option to schedule an intent with alarm manager which can skip doze if wanted.
- This will issue a new intent which wakes up syncopoli so that workmanager can schedule a pending sync request. I found this approach non-intrusive and allows frequent sync on newer versions of android which have more restrictive doze settings.
- Introduce additional notification channel. We now have 3 channels which can be individually disabled if certain notifications are not desired: sync in progress, success, error
- Android workmanager no longer supports parables, so we add a gson dependency to serialize payload to json which we can pass as string argument.
- Add
BOOT_COMPLETED
intent so that syncopoli is loaded on restart of android.
I separated this work into two logical features
- workmanger (this)
- UI bugfixing (!24)
Let me know what you think.
Edited by Andrin Bertschi