- Enables users to manually trigger sync
- Makes sure that we actually refresh when a new feed arrives:
Previously, we might request the feed to be refreshed but then don't
actually wait for it to be completed because the refresh service
wouldn't start up quickly enough.
This makes sure that we do not try to sync again before the refresh
actually went through, even if the sync service is called multiple times.
93% of our users have an Android version modern enough that the setting is not available there anyway.
From the remaining 7%, probably only a tiny percentage use that setting.
Removing simplifies our code and makes it easier to maintain.
GlobalSign has migrated to R6, which is only shipped with Android 10+.
Blubrry switched to the new root CA, which causes certificate errors for some users.
AntennaPod currently supports Android 5.0+ and is installed on about 25k
Google Play devices with Android 5-9.
Before when refreshing any feed(s) without network the refresh indicator
stayed indefinitely.
This was also the case if you were on mobile, trying to refresh a need
and in the popup selected "don't update over mobile".
- Run Checkstyle with gradle to make it easier for users
- No longer needs different configuration for new code
- Exclude current violations
- Fix some violations that somehow couldn't be specified in the exclusion file
- Print SpotBugs/Lint/Checkstly violations in GitHub format
- Then the CI run gets annotated on the web UI
WorkManager does not tell us whether it was cancelled by
the user (not retried) or by the system (retried later).
So we need to delete the file and remove from queue when
we know that it was actually the user. Also make sure
to always delete the file when the download fails.
Also, don't show "will retry" message on last retry attempt.
Feed downloads are now independent from episode downloads.
This makes it easier to use WorkManager for refreshing.
Also, it will make it easier to add different refresh intervals
in the future.