Files
AntennaPod/app
Hans-Peter Lehmann ea6de16341 Fix queue deletion potentially removing wrong episode (#8586)
### Description

Fix queue deletion potentially removing wrong episode.
FeedItemEvent.indexOfItemWithId returns -1 when an item isn't found in
the list; queue.remove(-1) in Java removes the last element. A
removed/missing item therefore silently removes the last episode in the
queue. This is only a visual glitch, not something related to the
database, but still worth guarding against.

### 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
2026-07-09 08:11:18 +02:00
..
2022-05-12 18:02:33 -04: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.

Wear OS Communication (play flavor only)

WearListenerService is a WearableListenerService that handles DataLayer messages from connected watches. It responds to watch-initiated requests. The service is kept alive by the Android framework while at least one watch is connected.