AntennaPod
antennapod.org AndroidAn 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.
- Homepage: antennapod.org
- GitHub: github.com/AntennaPod/AntennaPod
- Android App: play.google.com/.../de.danoeh.antennapod
- Web info: web-check.xyz/check/antennapod.org
AntennaPod Source Code
Author
Description
A podcast manager for Android
Homepage
https://antennapod.orgLicense
GPL-3.0
Created
31 Jul 12
Last Updated
18 Jun 26
Latest version
Primary Language
Java
Size
117,266 KB
Stars
7,950
Forks
1,699
Watchers
7,950
Language Usage
Star History
Top Contributors
-
@ByteHamster (3827)
-
@danieloeh (1535)
-
@mfietz (1122)
-
@TomHennen (971)
-
@orionlee (215)
-
@domingos86 (143)
-
@TacoTheDank (109)
-
@tonytamsf (83)
-
@damoasda (50)
-
@andersonvom (37)
-
@keunes (31)
-
@ebraminio (29)
-
@weblate (27)
-
@spacecowboy (27)
-
@shortspider (27)
-
@flxholle (26)
-
@patheticpat (24)
-
@brad (23)
-
@Cj-Malone (20)
-
@maxbechtold (20)
-
@flofriday (18)
-
@qkolj (15)
-
@gaul (15)
-
@pachecosf (13)
-
@bws9000 (12)
-
@hannesa2 (12)
-
@johnjohndoe (12)
-
@gerardolgvr (12)
-
@Copilot (12)
-
@ahangarha (11)
-
@rharriso (10)
-
@xgouchet (10)
-
@mueller-ma (10)
-
@ueen (10)
-
@peakvalleytech (10)
-
@vbh (9)
-
@eblis (9)
-
@Slinger (9)
-
@TheRealFalcon (9)
-
@gitstart (9)
-
@terminalmage (9)
-
@jas14 (8)
-
@udif (8)
-
@malockin (8)
-
@NWuensche (8)
-
@jonasburian (8)
-
@two-heart (7)
-
@matejdro (7)
-
@amanjn38 (7)
-
@ydinath (7)
-
@txtd (7)
-
@orelogo (7)
-
@loucasal (7)
-
@peschmae0 (7)
-
@jatinkumarg (7)
-
@dirkmueller (7)
-
@binarytoto (6)
-
@saqura (6)
-
@beijingling (6)
-
@drabux (6)
-
@dethstar (6)
-
@VishnuSanal (6)
-
@mchelen (6)
-
@CedricCabessa (6)
-
@jhenninger (5)
-
@Xeitor (5)
-
@schasi (5)
-
@ligi (5)
-
@egsavage (5)
-
@dominikfill (5)
-
@cketti (5)
-
@MeirAtIMDDE (5)
-
@deandreamatias (5)
-
@hzulla (5)
-
@bibz (5)
-
@geoffreysisco (5)
-
@HaBaLeS (4)
-
@JessieVela (4)
-
@volhol (4)
-
@michaelmwhite (4)
-
@twiceyuan (4)
-
@thrillfall (4)
-
@rezanejati (4)
-
@Mino260806 (4)
-
@nereocystis (4)
-
@liesen (4)
-
@dreiss (4)
-
@Nymuxyzo (4)
-
@matdb (3)
-
@connectety (3)
-
@toggles (3)
-
@tmatale (3)
-
@SEVENMASTER (3)
-
@hades (3)
-
@caoilte (3)
-
@avirajrsingh (3)
-
@archibishop (3)
-
@Thom-Merrilin (3)
-
@Terrance (3)
-
@SosoTughushi (3)
Recent Commits
-
unnamedtiger (17 Jun 26)
Fix colors in BarChartView when using dynamic colors (#8527) ### Description The BarChartView (as used in the Years tab of the Statistics screen) uses two colors. In the default theme (without dynamic colors) those are blue and purple. When you turn on dynamic colors the purple stays and the blue changes to a very dark or light color with just a hint of your dynamic color. In my opinion, that looks bad. I've changed it so that the default blue and purple are used, even if dynamic colors are on. See the screenshot below for comparison. The old version is on the left, the new version is on the right. The top half is with the default theme, the bottom half is with a green dynamic color. <img width="2160" height="2916" alt="image" src="https://github.com/user-attachments/assets/f8a12340-c08d-401d-ba48-9f81e96e78aa" /> I've also tried to use two dynamic colors, a lighter one and a darker one, but have not found a configuration that looks good in all situations and with all possible dynamic colors. In the old version the blue in the default-dark case was a bit lighter than in the new version but since we don't have two variants of the purple color and that distinction wasn't made on the pie chart, I think it is okay to no longer do here as well. ### 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 - [ ] 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 (I don't think an issue or adjustments to tests are needed.)
-
Geoffrey Sisco (13 Jun 26)
Fix queue swipe action crashes (#8514) ### Description This fixes two queue-related crashes in `RemoveFromQueueSwipeAction`. - The first crash occurs because queue-position lookup is performed synchronously on the main thread. - The second crash occurs when the Undo snackbar action is triggered after the originating `QueueFragment` has been detached. Closes: #8512 Closes: #8513 ### 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
-
Shaik Sameer (12 Jun 26)
fix: count local feed episodes as downloaded in subscription counter (#8500) ### Description Local folder feeds have no download records since files are placed directly on-device. The subscription counter showed 0 downloaded episodes even when episodes existed in the folder. Fixes #7534 ### 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] --> - [ ] I have read the contribution guidelines: https://github.com/AntennaPod/AntennaPod/blob/develop/CONTRIBUTING.md#submit-a-pull-request - [ ] 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` - [ ] My code follows the style guidelines of the AntennaPod project: https://antennapod.org/contribute/develop/app/code-style - [ ] 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
-
Geoffrey Sisco (12 Jun 26)
Fix export success snackbar Share crash (#8518) ### Description This fixes a crash that can occur when the Share action in the export success snackbar is tapped after leaving Backup & restore. Closes: #8517 ### 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
-
loucasal (10 Jun 26)
Improvements to CONTRIBUTING.md (#8480) ### Description Several small improvements to CONTRIBUTING.md: - [X] Add missing links to existing website contributor (sub)pages for developers - [X] Strengthen instructions on searching before reporting bugs - [X] Plus other minor editing/proofreading corrections ### 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 - [ ] I have run the automated code checks using `./gradlew checkstyle lint` - [ ] My code follows the style guidelines of the AntennaPod project: https://antennapod.org/contribute/develop/app/code-style - [ ] 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
-
Geoffrey Sisco (31 May 26)
Fix crash when choosing data folder (#8505) ### Description This fixes a crash when opening **Settings โ Downloads โ Choose data folder** while Android reports an external/public storage volume that is registered but currently unavailable. `DataFolderAdapter` was using `List.of(...)` with the arrays returned by Android storage directory APIs. In the unavailable-volume case, those arrays can contain `null` entries. `List.of(...)` rejects null elements and throws before the existing `isWritable(dir)` filtering logic can run. This change uses `Arrays.asList(...)` instead, preserving the existing flow where non-writable or null storage entries are filtered by `isWritable(dir)`. Validation performed: - Reproduced the crash locally with a mounted/unmounted public storage volume scenario. - Verified the crash no longer occurs after the fix. - Verified the chooser updates from 4 entries โ 2 entries when the public volume is unavailable. - Verified the chooser returns to 4 entries when the public volume is available again. Closes: #7919 ### 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
-
Geoffrey Sisco (28 May 26)
More efficient chapter parser dispatch (#8416) ## Description This PR reduces avoidable per-parser stream opens during chapter loading by introducing parser dispatch based on bounded magic-byte detection with hint-based fallback ordering. The implementation evolved during review from the original MIME-first dispatch approach into a parser-neutral, magic-byte-first detection flow that preserves compatibility behavior for unknown streams while eliminating unnecessary parser probing for confidently detected formats. Addresses part 1 of issue #8352. ### 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 spotbugsPlayDebug spotbugsDebug` - [x] My code follows the style guidelines of the AntennaPod project: https://antennapod.org/contribute/develop/app/code-style - [ ] 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 --------- Co-authored-by: ByteHamster <[email protected]>
-
Hans-Peter Lehmann (28 May 26)
Update CI checks to use node 24 actions (#8490) ### Description Update CI checks to use node 24 actions. Node 20 actions will be deprecated next week. Also update the action to run in the target repo, not the source repo. Maybe that helps to avoid a 403 error when trying to assign the milestone. ### 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 (28 May 26)
Automatically assign version milestones (#8489) ### Description Automatically assign version milestones. People constantly ask what version a feature will be released in. This adds a CI job to automatically assign the next version milestone to merged PRs. ### 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
-
Michael Pollmeier (28 May 26)
Parental Control: allow to protect 'add feed' screen with a password (#8281) ### Description Adds a Parental Controls feature that allows parents to set an 'parent password' that restricts children from being able to search and subscribe to any podcast out there. Context: there's a lot of really great podcasts out there and I see my children thrive with that knowledge. At the same time, not every podcast is appropriate for their age, and I was looking for a simple way to stay in control. Idea: - Initially, no password is set โ "Add subscription" works directly - parents can set an initial password in Settings โ User Interface โ Parental Control Password - Once set, "Add subscription" requires the password - To change or clear the password, user must know the old password Closes: #8280 ### 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 --------- Co-authored-by: ByteHamster <[email protected]>
-
Hans-Peter Lehmann (25 May 26)
Make it possible to scale widget vertically (#8462) ### Description The Android lock screen ignores whether a widget supports resizing or not, it does it anyway. This makes the layout more acceptable and enables support officially. Closes #8459 ### 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 (25 May 26)
Have link color to positions follow system theme (#8475) ### Description Have link color to positions follow system theme. Before it was green and did not react to system color scheme changes. ### 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 (22 May 26)
Echo 2026 bringup (#8463) ### Description No code/design changes, just enabling the echo screen before we forget. ### 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 (21 May 26)
We just need one copy of the "empty inbox" text (#8461) ### Description We just need one copy of the "empty inbox" text Closes #8456 ### 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
-
loucasal (21 May 26)
Shorten queue lock warning message (#8455) ### Description The queue lock warning message mentions not being able to 'swipe' when the queue is locked. This is confusing/misleading, as swipe actions work even when the queue is locked, so I suggest we shorten the message. ### 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 - [ ] 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 - [ ] 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 (19 May 26)
Move URL edit box from feed info to feed settings (#8452) ### Description Move URL edit box from feed info to feed settings. This really is a setting, not something that should be on the info page in some overflow menu... ### 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
-
Copilot (19 May 26)
Clear viewBinding when destroying view (#8439) ### Description LeakScope reported multiple Fragment lifecycle/memory violations where view references were retained past `onDestroyView()`. This fixes the ones already using ViewBinding. The others will come later when migrated to ViewBinding. Closes #8437 ### 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 --------- Co-authored-by: ByteHamster <[email protected]>
-
Hans-Peter Lehmann (19 May 26)
Work around incorrect redirects duplicating subscriptions on sync (#8444) ### Description Work around incorrect redirects duplicating subscriptions on sync. We already had handling for proper redirects. Note that we still subscribe to the non-redirected url, so sync status might be inconsistent until the podcast creator fixes their feed. However, that is better than duplicated subscriptions. Closes #8382 ### 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 (17 May 26)
Migrate Gradle dependencies to version catalogs (#8443) ### Description Migrate Gradle dependencies to version catalogs. This is the modern style of managing dependencies. Confirmed with diff on `./gradlew :app:dependencies` that no versions changed. ### 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 (16 May 26)
Reduce clipboard code duplication (#8442) ### Description Reduce clipboard code duplication ### 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 (14 May 26)
Bump version to 3.12.0-beta1
-
ByteHamster (14 May 26)
Merge branch 'master' into develop
-
ByteHamster (14 May 26)
Update store metadata
-
Hans-Peter Lehmann (14 May 26)
Follow all redirects before giving stream url to ExoPlayer (#8436) ### Description Follow all redirects before giving stream url to ExoPlayer. This is an attempt to reduce the impact of dynamic ad insertion changing the media file while AntennaPod is still playing it. Contributes to #7409 ### 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 spotbugsPlayDebug spotbugsDebug` - [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 (14 May 26)
More 'expressive' item backgrounds (#8435) ### Description Material 3 "expressive" uses a lot more bold color. Make the currently playing item background a bit more expressive by using a stronger color. Before/After: <img width="200" alt="Screenshot_20260514-135531" src="https://github.com/user-attachments/assets/6571f48c-333b-4c3b-b4e5-799e10a3cf84" /> <img width="200" alt="Screenshot_20260514-135455" src="https://github.com/user-attachments/assets/c709a9d8-a5bb-4c9e-bade-b805f68e3788" /> ### 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 spotbugsPlayDebug spotbugsDebug` - [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 (14 May 26)
Remove 'pause on focus loss' setting (#8433) ### Description Remove 'pause on focus loss' setting. The setting is non-functional with the new playback service, which always pauses (and never ducks) when on media type speech. This aligns with the Android system defaults and media3 behavior. Closes #8390 ### 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 spotbugsPlayDebug spotbugsDebug` - [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 (14 May 26)
Basic WearOS app (#8396) ### Description An initial minimal implementation for a Wear OS app. So far, the wear app can only display episodes and start them on the phone. No standalone features available yet. Contributes to #4264 ### 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 spotbugsPlayDebug spotbugsDebug` - [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 (14 May 26)
Shorten queue subtitle (#8432) ### Description Shorten queue subtitle. In German, it sometimes broke to two lines, which looked super messy ### 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 spotbugsPlayDebug spotbugsDebug` - [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 (14 May 26)
Tweak button design on home page (#8434) ### Description Tweak button design on home page. We used text-based "arrows" (`ยป`). Those don't work well depending on the language. Instead, use an actual arrow icon. Before/After: <img width="200" alt="Screenshot_20260514-125712" src="https://github.com/user-attachments/assets/da8c37c4-64c4-4904-986d-4df5020e7bc4" /> <img width="200" alt="Screenshot_20260514-130130" src="https://github.com/user-attachments/assets/3f527b42-b9cb-4aff-8eea-16c96e961661" /> ### 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 spotbugsPlayDebug spotbugsDebug` - [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 (14 May 26)
Support password protected media streams in new playback service (#8430) ### Description Support password protected media streams in new playback service ### 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 spotbugsPlayDebug spotbugsDebug` - [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
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 Address 185.199.109.153
- Hostname cdn-185-199-109-153.github.com
- Location Francisco, Indiana, United States of America, NA
- ISP GitHub Inc.
- ASN AS54113
Associated Countries
-
DE -
US
Safety Score
Website marked as safe
100%
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
AntennaPod Android App
APK Info
- App AntennaPod
- Creation Date 24 May 24
- Last Updated 14 Jul 24
- Current Version 3.4.0
- Privacy Report View on Exodus โ
De-Googled Compatibility
- GrapheneOS Native 4.0 / 4 (40)
- LineageOS Native 4.0 / 4 (15)
- CalyxOS microG 4.0 / 4 (11)
- e OS microG 4.0 / 4 (10)
- LineageOS microG 4.0 / 4 (10)
- iodeOS microG 4.0 / 4 (6)
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
- Added #632
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!