mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2026-08-18 02:53:10 +00:00
### Description Fix two issues with deleting episodes from local folder subscriptions: 1. **#8425**: The Delete action button was missing from the single-episode detail screen for local folder items. In `ItemFragment.java`, `actionButton2` was only set to `DeleteActionButton` when `media.isDownloaded()` — but local feed media is never "downloaded" in the traditional sense, so the button was never shown. Added `item.getFeed().isLocalFeed()` to the condition. 2. **#8424**: The multi-select Delete action silently did nothing for local folder items. The `performMultiSelectAction` method runs on a `Schedulers.computation()` background thread, but `LocalDeleteModal.showLocalFeedDeleteWarningIfNecessary` needs to show a dialog on the main thread. Wrapped the call in `activity.runOnUiThread()` in `EpisodeMultiSelectActionHandler` so the confirmation dialog is shown (or deletion proceeds directly for non-local items). Both fixes ensure the local-folder delete warning dialog is still shown when appropriate. Closes: #8424 Closes: #8425 ### 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) - [ ] If it is a core feature, I have added automated tests --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ByteHamster <5811634+ByteHamster@users.noreply.github.com> Co-authored-by: ByteHamster <info@bytehamster.com>
:app
The main application module that integrates all features and hosts app-specific UI screens not large enough for their own module.
PodcastApp initializes the app; ClientConfigurator registers service implementations (download, sync) at startup.
The miniplayer (the collapsed player bar at the bottom of the screen) is implemented in ExternalPlayerFragment.
It is hosted in MainActivity as a bottom sheet. MainActivity controls its visibility via setPlayerVisible() based on playback state.