Files
AntennaPod/app
Copilot 7c768dceca Improve deletion from local folders (#8440)
### 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>
2026-05-20 10:38:00 +02:00
..
2022-05-12 18:02:33 -04:00
2026-05-14 15:18:14 +02:00
2021-04-17 17:59:03 +02:00

: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.