13 Commits

Author SHA1 Message Date
5de8d4b73f Merge branch 'master' into develop 2026-03-22 19:43:30 +01:00
a6899a43b2 Reduce number of database queries (#8358)
### Description

Reduce number of database queries. Instead of loading queue and
favorites lists in separate queries, let sqlite do the join

### Checklist
<!-- 
To help us keep the issue tracker clean and work as efficient as
possible,
  please make sure that you have done all of the following.
You can tick the boxes below by placing an x inside the brackets like
this: [x]
-->
- [x] I have read the contribution guidelines:
https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [x] I have performed a self-review of my code, going through my
changes line by line and carefully considering why this line change is
necessary
- [x] I have run the automated code checks using `./gradlew checkstyle
spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [x] My code follows the style guidelines of the AntennaPod project:
https://antennapod.org/contribute/develop/app/code-style
- [x] I have mentioned the corresponding issue and the relevant keyword
(e.g., "Closes: #xy") in the description (see
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [x] If it is a core feature, I have added automated tests
2026-03-22 10:57:38 +01:00
1562188546 Remove Android 5 support (#8276)
### Description

Remove Android 5 support. For supporting Chromecast playback via media3,
we need to upgrade the media3 library. This library no longer supports
Android 5, so we need to bump our minimum version as well. Only 0.13% of
our Google Play users are still on this ancient Android version released
in 2014. Dropping support seems okay now, especially considering that no
one should expose such an old device to the internet anymore. The app
will continue to work on Android 5 but will not receive updates anymore.

### Checklist
<!-- 
To help us keep the issue tracker clean and work as efficient as
possible,
  please make sure that you have done all of the following.
You can tick the boxes below by placing an x inside the brackets like
this: [x]
-->
- [x] I have read the contribution guidelines:
https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [x] I have performed a self-review of my code
- [x] I have run the automated code checks using `./gradlew checkstyle
spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [x] My code follows the style guidelines of the AntennaPod project:
https://antennapod.org/contribute/develop/app/code-style
- [x] I have mentioned the corresponding issue and the relevant keyword
(e.g., "Closes: #xy") in the description (see
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- [x] If it is a core feature, I have added automated tests
2026-02-14 22:06:08 +01:00
23d862185d Add more explicit feature to archive feeds (#8022) 2025-10-11 13:48:08 +02:00
e539479f2c Upgrade dependencies (#7936) 2025-08-18 20:24:58 +02:00
a244fe0897 Fix legacy sync queue state if a feed is both added and removed (#7768) 2025-05-31 08:35:41 +02:00
0ab7f9e9ea Partially work around duplicated feeds when using sync (#7671)
Connect to each newly added URL with a HEAD request.
If there is a redirect to an existing URL, ignore the added feed.

This does not handle `itunes:new-feed-url` or other redirects.
This will likely still cause problems with synchronization
because the server still knows the old url.
However, it makes the situation better than it was before by avoiding the duplicates.
For a proper fix, we need a new protocol that can deal with redirects more elegantly
2025-02-22 08:10:27 +01:00
83199a6057 Wait in SyncService before enqueueing subscriptions refresh (#7544)
Apparently requesting to run the manager cancels the already running one on some devices.
This leads to an endless loop trying to refresh over and over again.
2024-12-10 21:02:15 +01:00
ea32469a61 Fix sync getting stuck in endless loop (#7533) 2024-11-28 20:09:06 +01:00
f30cdf0e80 Sync after refreshing (#7475)
- 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.
2024-11-01 10:29:11 +01:00
4a92a5e019 Make sync service interface more standard (#7479) 2024-10-30 21:30:29 +01:00
687db0f5ed Merge :net:sync:model and :net:sync:service-interface (#7063) 2024-04-05 20:08:25 +02:00
6f3a9b1676 Create module for sync service and move DBWriter to database module (#7040) 2024-03-29 17:45:14 +01:00