gomezz
January 7, 2025, 9:12pm
1
If you set the global option to download you can turn that off for individual podcasts.
However if you set the global option to do not download you cannot change that for individual podcasts. This seems like an unbalanced omission of functionality.
I do not want to download for most podcasts but only for a handful and this lack makes it harder to set up and maintain.
Currently the global option is a “master switch” for the auto-download feature. So if the setting is disabled, nothing will be auto-downloaded. However, we are working on changing this. Then the global option is basically the default, but you can overwrite it on a per-podcast level (both to enable and to disable). I think the new option will probably be released in AntennaPod 3.7
AntennaPod:develop
← newhinton:feature/noid/autodownloadPaywall
opened 10:08AM - 13 Oct 24 UTC
### Description
### Checklist
- [x] I have read the contribution guideli… nes: https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request
- [ ] I have performed a self-review of my code
- [ ] I have run the automated code checks using `./gradlew checkstyle spotbugsPlayDebug spotbugsDebug :app:lintPlayDebug`
- [ ] My code follows the style guidelines of the AntennaPod project: https://github.com/AntennaPod/AntennaPod/wiki/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)
- [ ] If it is a core feature, I have added automated tests
## General Outline
This is the first draft of the discussed changes to the handling of the settings around auto-downloads.
It removes the "global" setting that enables or disables autodownloads. Autodownloads are now always enabled.
The general behaviour did not change however, since the new "default"-setting is still off. All new podcasts will follow this new setting. Only if changed, the behaviour changes.
This change allows any podcast to enable the download feature, regardless of the global setting.
## Migrations
For this feature, there had to be a database upgrade. Each value of the 'KEY_AUTO_DOWNLOAD_ENABLED'-table column has been migrated from a 1 to 2. This is because the default value of that column is 1, and this needs to be reflected in the model. (alternatively the column could be dropped, migrated and recreated with the proper default value of 2, but that seemed drastic)
The result is that all old podcasts will be "manually enabled or disabled" after this. They will not follow the global default anymore.
### Example Podcast Settings:
<img src="https://github.com/user-attachments/assets/6aa88b10-a329-483f-a4e3-e3eac8361289" height="360vh">
### User Implications
1. When autodownloads were disabled, formerly enabled podcasts will now be downloaded again
2. "Untouched" podcasts that have their settings never altered, will not follow this new default.
There might be more. Those need to be discussed.
## Todo
There is still some code-cleanup todo, and some handling is missing. There is also a few places where i need help with my general architecture decisions, but overall, for a first review this works well enough. (I also need to work on the above checkboxes)
1 Like