AntennaPod

antennapod.org
AntennaPod

An open-source podcast manager for Android. Subscribe to any RSS feed, with offline downloads, variable playback speed, and optional gpodder.net or Nextcloud sync. Contains no ads or trackers, but is Android-only, with no iOS or desktop app.

Open Source

AntennaPod Source Code

Author

AntennaPod

Description

A podcast manager for Android

#android#apps#podcast-manager#podcasting20

Homepage

https://antennapod.org

Repository

  • LicenseGPL-3.0
  • Created31 Jul 12
  • Primary languageJava
  • Size116,347 KB
  • Stars8,213
  • Forks1,816
  • Watchers8,213

Language Usage

Language Usage

Project Health

  • Last commit9 days ago
  • Open issues376
  • Latest release3.12.2

Recent Commits

  • Hans-Peter Lehmann(04 Oct 26)

    Update Weblate PRs with commit details (#8830) ### Description Update Weblate PRs with commit details. Also converts PRs to draft if the description is not followed. Closes #8793 ### 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 lint` - [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

  • ByteHamster(04 Oct 26)

    Merge branch 'master' into develop

  • ByteHamster(02 Oct 26)

    Bump version to 3.12.3

  • Weblate (bot)(02 Oct 26)

    Translations update from Hosted Weblate (#8825) Translator: ru by Gleb Yavorski <[email protected]> Translated using Weblate Translator: gl by "josé m." <[email protected]> Translated using Weblate Translator: el by Theodoros Asimakopoulos <[email protected]> Translated using Weblate Translator: de by VfBFan <[email protected]> Co-authored-by: Gleb Yavorski <[email protected]> Co-authored-by: Theodoros Asimakopoulos <[email protected]> Co-authored-by: VfBFan <[email protected]> Co-authored-by: josé m. <[email protected]>

  • Hans-Peter Lehmann(01 Oct 26)

    Fix played duration statistics accounting (#8824) ### Description Fix played duration statistics accounting to no longer count skips. Also makes the accounting logic a lot more sane instead of using weird side effects in model classes. Closes #8746 Closes #8753 ### 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 lint` - [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

  • Hans-Peter Lehmann(01 Oct 26)

    Fix not removing item from the inbox (#8823) ### Description Fix not removing item from the inbox. The problem was that the playback service only updated the database if it was not already marked as removed from the inbox. However, an earlier `FeedMedia.setPosition` transparently marked the in-memory object as "removed from inbox" without actually removing it. Closes #8757 ### 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 lint` - [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

  • Thiago Padrão(29 Sept 26)

    Clean up filter dialog (#8810) ### Description Cleans up the filter dialog by removing the redundant confirm button (filters already apply in the background) and replacing "Reset" with a more subtle "Clear" text button, aligned to the right. The design was discussed and iterated on in the issue with @ByteHamster and @keunes. Final version uses a text-only button with the filter_cancel icon, compact touch target, and colorOnSurfaceVariant for a muted appearance. Closes: #8735 ### 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 lint` - [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) - [ ] If it is a core feature, I have added automated tests

  • Hans-Peter Lehmann(29 Sept 26)

    Fix unplayed episode ending up in playback history (#8822) ### Description Fix unplayed episode ending up in playback history. Closes #8815 ### 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 lint` - [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

  • Hans-Peter Lehmann(27 Sept 26)

    Enable bottom navigation for all existing users (#8808) ### Description Enable bottom navigation for all existing users. It has been available for about 2 years, enabled for new users for about 1.5 years, and enabled for existing users who never tried enabling it for about 1 year. We cannot keep supporting this forever, so this nudges users again (also combined with the warning message when trying to turn it off). Closes #7952 ### 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 lint` - [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

  • Hans-Peter Lehmann(27 Sept 26)

    Fix seeking when service has not loaded media (#8809) ### Description Fix seeking when service has not loaded media. Closes #8788 ### 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 lint` - [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

  • Hans-Peter Lehmann(27 Sept 26)

    Write our own media button receiver (#8816) ### Description Write our own media button receiver instead of using the media 3 receiver. - Work around media3 and accept legacy playback control broadcasts for controller apps that have not upgraded to media3 yet. This is done only if we know the app is already playing, because relaying the events otherwise would crash the app because the service does not transition to foreground. Closes #8507 - If there is nothing to resume, intercept the call to media3 and stop the app instead of letting it try to play something and crash the app because the service does not transition to foreground. Closes #8766 ### 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 lint` - [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

  • Hans-Peter Lehmann(27 Sept 26)

    Close PR when closing issue (#8818) ### Description People recently opened a lot of issues where they immediately also added an AI generated PR. When closing the issue as `not planned`, also close the PR with it. ### 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 lint` - [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

  • Hans-Peter Lehmann(27 Sept 26)

    Exclude maintainers from automatic label assignment (#8817) ### Description Exclude maintainers from automatic label assignment. At least if they assigned at least one label. This is to avoid opening an issue that does not need triage, and have the bot label it as needing triage immediately. Contributes to #8793 ### 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 lint` - [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

  • Joseph Mearman(24 Sept 26)

    Remove unused code (#8798) ### Description Removes the members listed in #8796 that nothing references, not even tests. There's one commit per class, so any you'd rather keep can be dropped. `ConfirmationDialog` and `MainActivityStarter` also lose the field only the removed setter wrote to. Closes: #8796 ### 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 lint` - [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) - [ ] If it is a core feature, I have added automated tests

  • Hans-Peter Lehmann(24 Sept 26)

    Remove last segment of milestone semver (#8805) ### Description Remove last segment of milestone semver. Instead of assigning 3.12.0, use 3.12 only, because the milestone remains useful for bugfix releases. ### 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 lint` - [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

  • Joseph Mearman(24 Sept 26)

    Remove unused equals and hashCode overrides (#8799) ### Description Removes the `equals` and `hashCode` overrides from `FeedFunding`, `Chapter` and `LongList`, which nothing compares or hashes (details in #8797). There's one commit per class. Closes: #8797 ### 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 lint` - [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) - [ ] If it is a core feature, I have added automated tests

  • Hans-Peter Lehmann(22 Sept 26)

    Fix widget not updating to prepared episode (#8792) ### Description Fix widget not updating to prepared episode if continuous playback is off. Fixes https://forum.antennapod.org/t/minor-issue-with-widget/9201/1 ### 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 lint` - [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

  • Sajad Mahmoodifar(22 Sept 26)

    Allow feed URLs with single-label hosts (#8771) ### Description Allow HTTP(S) feed URLs with single-label hosts, such as localhost and Tailnet device names, while preserving existing scheme-less URL support. Both dialog validation paths use the same helper, with regression tests for local hosts, IPv6, existing URL formats, and malformed input. Closes: #8752 ### Checklist - [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 - [ ] I have run the automated code checks using `./gradlew checkstyle lint` - [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

  • Joseph Mearman(21 Sept 26)

    Remove the unused equals and hashCode from EpisodeAction (#8790) ### Description `EpisodeAction.equals()` is inverted for the action kind and the matching `hashCode()` is equally wrong, but nothing in the app or its tests ever compares two `EpisodeAction`s. The overrides are removed so the class uses identity equality, which is what the code actually relies on. Closes: #8789 ### 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 lint` - [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

  • Hans-Peter Lehmann(20 Sept 26)

    Skip workflows on non-AntennaPod repos (#8775) ### Description Skip workflows on non-AntennaPod repos. The workflow uses secrets that are not available in other repos, so there is no point in running them there. This just creates "workflow failed" notifications for any forks. ### 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 lint` - [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

  • Hans-Peter Lehmann(20 Sept 26)

    Remove references to readme files from agent instructions (#8776) ### Description Remove references to readme files from agent instructions. Those readme files do not really help anyway, and most agent-written additions to them are stupid. No longer ask agents to update those. ### 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 lint` - [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

  • Sajad Mahmoodifar(19 Sept 26)

    Handle SubscribeOnAndroid hostnames case-insensitively (#8773) ### Description Match the SubscribeOnAndroid wrapper case-insensitively when removing it, just as the preceding detection already does. This prevents unchanged URLs from being passed back into `prepareUrl()` recursively while preserving the feed path and query casing. Four regression tests cover lowercase, uppercase, mixed-case `www`, and scheme-less links. All 23 `UrlChecker` tests pass in an isolated JVM harness using Android 16 classes with only logging mocked; three of the new tests error with the previous code. The normal Android build, Robolectric tests, and `./gradlew checkstyle lint` remain for CI because local Gradle cannot resolve AGP 9.0.1 from Google Maven. Closes: #8772 ### Checklist - [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 - [ ] I have run the automated code checks using `./gradlew checkstyle lint` - [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

  • Mudsir Wazir(17 Sept 26)

    Confirm speed preset deletion before removing (#8751) ### Description Long-pressing a playback speed preset previously deleted it immediately, which is easy to trigger by accident. Behavior: 1. Long-press a preset → chip turns red with a delete icon (pending) 2. Long-press or tap the same chip again → preset is removed 3. Tap a different chip → clears pending state and applies that speed as usual Closes: #8732 ### Checklist - [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 lint` - [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) - [ ] If it is a core feature, I have added automated tests --------- Co-authored-by: wized2 <[email protected]> Co-authored-by: ByteHamster <[email protected]>

  • Hans-Peter Lehmann(12 Sept 26)

    Parse metadata from vorbis comments in flac files (#8747) ### Description Parse metadata (comment, chapters) from vorbis comments in flac files. Closes #8694 ### 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 lint` - [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

  • Hans-Peter Lehmann(12 Sept 26)

    Add m4a description reader (#8745) ### Description Add parser for m4a description. Also add a test file. Contributes to #8694 ### 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 lint` - [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

  • Hans-Peter Lehmann(12 Sept 26)

    Restructure m4a reader to be extensible (#8744) ### Description Restructure m4a reader to be extensible. The old reader supported only one specific atom. ### 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 lint` - [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

  • Hans-Peter Lehmann(12 Sept 26)

    Fix vorbis not reading 'synopsis' comment correctly (#8743) ### Description Fix vorbis not reading 'synopsis' comment correctly. Was originally added in #8287 but was never working because the code structure invited to miss `handles` calls. Restructure the code so we cannot forget anymore, and add a test for it. Fixes #8269 ### 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 lint` - [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

  • Hans-Peter Lehmann(12 Sept 26)

    Add ffmpeg generated chapter reader tests (#8742) ### Description Add ffmpeg generated chapter reader tests to increase coverage of emoji and utf-8 in chapter parsers. ### 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 lint` - [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

  • Hans-Peter Lehmann(10 Sept 26)

    Suppress BuildConfig lint on Java 25 (#8738) ### Description Suppress lint rule complaining about BuildConfig comments when compiling with JDK 25 Closes #8729 ### 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 lint` - [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

  • Myoungdo Park(10 Sept 26)

    Support legacy iTunes podcast namespace (#8722) ### Description `SyndHandler` matches the iTunes namespace URI with `String.equals` against `http://www.itunes.com/dtds/podcast-1.0.dtd`, so feeds declaring the namespace with Apple's original capitalisation (`http://www.itunes.com/DTDs/Podcast-1.0.dtd`) are not recognised and all of their `itunes:` elements are silently dropped. Feeds that supply their artwork only through `<itunes:image>` therefore end up with no cover at all. This adds the legacy URI as a second accepted spelling for the same namespace, plus a parser regression test and fixture. Verified against the affected feed (`https://minicast.imbc.com/PodCast/pod.aspx?code=1000671100000100000`), whose artwork now loads in a local debug build. - https://patents.google.com/patent/US8346762B2/en - https://www.w3.org/2005/07/media-and-rss.html - https://github.com/Podcastindex-org/podcast-namespace/blob/main/existing-namespaces.txt - https://sources.debian.org/src/podcastparser/0.6.5-1/podcastparser.py Closes: #8721 ### 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 lint` - [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

AntennaPod Security

4.5/10

Repo Security Summary

Updated 24 Aug 26

  • Maintained10/10
  • Code-Review2/10
  • CII-Best-Practices0/10
  • Dangerous-Workflow10/10
  • PackagingN/A
  • Security-Policy0/10
  • Token-Permissions0/10
  • License10/10
  • Signed-ReleasesN/A
  • Pinned-Dependencies0/10
  • Fuzzing0/10
  • Branch-ProtectionN/A
  • Binary-Artifacts10/10
  • SAST0/10

AntennaPod Website

Website

AntennaPod – The Open Podcast Player

AntennaPod is a podcast player that is completely open. The app is open-source and you can subscribe to any RSS feed. AntennaPod is built by volunteers without commercial intere...

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address185.199.109.153
  • Hostnamecdn-185-199-109-153.github.com
  • LocationFrancisco,Indiana,United States of America,NA
  • ISPGitHub Inc.
  • ASNAS54113

Associated Countries

  • DEDE
  • USUS

Safety Score

Website marked as safe

100%

Trackers

No known trackers found

Blacklist Check

antennapod.org was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

AntennaPod Android App

APK Info

De-Googled Compatibility

Native3.99/ 474 ratings
microG4.00/ 451 ratings
  • GrapheneOSNative4.0 / 4(38)
  • LineageOSNative4.0 / 4(15)
  • CalyxOSmicroG4.0 / 4(11)
  • e OSmicroG4.0 / 4(11)
  • LineageOSmicroG4.0 / 4(10)
  • iodeOSmicroG4.0 / 4(6)

Tested on Android 10–17 · Updated 04 Oct 26 · View on Plexus →

Trackers

No trackers found

    Permissions

    • Access Network State
    • Access Wifi State
    • Bluetooth
    • Foreground Service
    • Foreground Service Media Playback
    • Internet
    • Post Notifications
    • Read External Storage
    • Receive Boot Completed
    • Vibrate
    • Wake Lock
    • Write External Storage
    • Dynamic Receiver Not Exported Permission

    AntennaPod Reviews

    More Podcast Players

    ⚠️ This section is still a work in progress ⚠️
    Check back soon, or help us complete it by submiting a pull request on GitHub.
    Or submit an entry here

    About the Data: AntennaPod

    Change History

    Edit AntennaPod Data

    You can edit AntennaPod's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
    Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

    Origin Data

    Modify Data

    API

    You can access AntennaPod's data programmatically via our API. Simply make a GET request to:

    https://api.awesome-privacy.xyz/v1/services/antennapod

    The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

    Share AntennaPod

    Help your friends compare Podcast Players, and pick privacy-respecting software and services.
    Share AntennaPod and Awesome Privacy with your network!