Fix starting to buffer over mobile data without confirmation (#8585)

### Description

Fix starting to buffer over mobile data without confirmation. In the new
playback service, when "Follow Queue" is off, the streaming-consent flow
is not shown and the app silently starts streaming the next episode over
mobile data. The episode won't auto-play, but data is consumed without
asking the user.

### 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
This commit is contained in:
Hans-Peter Lehmann
2026-07-12 10:30:22 +02:00
committed by GitHub
parent c3c2ab61d7
commit 98c7125a56

View File

@ -620,7 +620,9 @@ public class Media3PlaybackService extends MediaLibraryService {
player.setMediaItem(confirmItem);
player.setPlayWhenReady(false);
player.prepare();
PlaybackService.isRunning = false;
EventBus.getDefault().post(new StreamingConfirmationEvent());
EventBus.getDefault().post(new PlayerStatusEvent());
}
private static boolean needsStreaming(FeedMedia media) {
@ -659,7 +661,7 @@ public class Media3PlaybackService extends MediaLibraryService {
final FeedMedia nextMedia = pair.first;
final MediaItem nextMediaItem = pair.second;
if (needsStreaming(nextMedia) && !NetworkUtils.isStreamingAllowed()
&& !allowStreamingThisTime && UserPreferences.isFollowQueue()) {
&& !allowStreamingThisTime) {
showStreamingConfirmation(nextMedia);
return;
}