17 Commits

Author SHA1 Message Date
47f921065b Add mobile data streaming confirmation to Media3PlaybackService (#8317)
### Description

Implements mobile data streaming confirmation (allow once/always
notification) in Media3PlaybackService, matching the legacy
PlaybackService behavior. Includes pre-Oreo PendingIntent compatibility,
stale notification cleanup on new media load, and a streaming guard for
queue auto-advance.

Fixes #8301 

### 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
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 <info@bytehamster.com>
2026-03-18 21:55:11 +01:00
516f4cf00f Load notification covers using Glide (#8332)
### Description

Load media icon using Glide, respecting caches and supporting local
embedded covers.

### 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
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 <5811634+ByteHamster@users.noreply.github.com>
2026-03-13 22:37:51 +01:00
95d3f37d25 Build media item stub on main thread and full item on background thread (#8321)
### Description

Build media item stub in main thread and full item in background thread.
We later plan to add more things to load to the main item creation code,
which should not run on the main thread.
Contributes to #8261

### 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
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
2026-03-08 08:38:59 +01:00
96213f0625 Add back Chromecast support (#8275)
### Description

Add back Chromecast support. This is so easy with media3 now :)
Closes #8265

### 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
2026-02-17 21:13:14 +01:00
0debbc3973 Add episode count sleep timers (#7841) 2025-10-30 22:51:03 +01:00
c2f7dabc8b Add incompletely played episodes to playback history (#7815) 2025-05-27 22:52:43 +02:00
e578f4ca93 CI tweaks (#7069)
- Run Checkstyle with gradle to make it easier for users
  - No longer needs different configuration for new code
  - Exclude current violations
  - Fix some violations that somehow couldn't be specified in the exclusion file
- Print SpotBugs/Lint/Checkstly violations in GitHub format
  - Then the CI run gets annotated on the web UI
2024-04-07 23:28:14 +02:00
b6a4049ff4 Spotbugs cleanup (#6968)
Remove unused SpotBugs rules.
Fix URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD, ICAST_INTEGER_MULTIPLY_CAST_TO_LONG, NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION, OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE
2024-04-05 19:28:36 +02:00
60f3d77eb2 Skip silence setting per feed (#6910) 2024-03-03 20:17:22 +01:00
e9d190da1b Bump AGP and Gradle (#6489) 2023-10-17 20:52:21 +02:00
2ee2cb6702 Ignore skip in first second of playback (#6704)
Users complained that they wanted to skip the ending of
an episode and accidentally skipped the next one that
started while their finger was moving.
2023-10-13 00:26:07 +02:00
ccea00e405 Remove deprecated media players (#6354) 2023-02-26 16:38:31 +01:00
a29041cd4d No need to define INVALID_TIME multiple times 2022-11-01 12:06:13 +01:00
48852e081a Delete a few unused things 2022-02-22 20:14:00 +01:00
87067af965 Fix some gradle deprecations 2022-02-09 11:28:40 -05:00
560bf3f434 Centralize library versions used in multiple modules 2021-12-04 13:01:22 -05:00
f0100e61ac Chromecast rework (#5518) 2021-11-28 22:19:14 +01:00