Skip to content

Conversation

@pca006132
Copy link
Contributor

@pca006132 pca006132 commented Nov 16, 2025

  1. Fixes shuffle (https://stackoverflow.com/questions/56937283/exoplayer-shuffle-doesnt-reproduce-all-the-songs). If you have shuffle enabled and click on a song in a playlist, you may end up in the middle of the shuffle queue (or in the worst case, at the end).
  2. Refactors MediaService.

I don't have Android Auto, so I cannot test if CastPlayer works. For ExoPlayer, I tested the two build variants and it seems to work.

@pca006132 pca006132 marked this pull request as ready for review November 16, 2025 09:24
@pca006132 pca006132 changed the base branch from main to development November 16, 2025 12:33
@eddyizm
Copy link
Owner

eddyizm commented Nov 16, 2025

I will get these into a build so we can get some folks testing it. We can use the discussion thread I believe to get feedback.

@pca006132
Copy link
Contributor Author

@eddyizm do you want me to make a pr that integrates everything?

@eddyizm
Copy link
Owner

eddyizm commented Nov 16, 2025

This one seems big and I'd really like this in sooner than later. I noticed the other one had a dependency on another PR>
I guess is can one PR in before all have to go in. And if so, what order since the other two seem to be dependent, maybe we get that first one in, then the following one in next round.

my thought process is giving us a week or two to see if any bugs arise, What do you think? This could be a poor approach if the changes are tightly coupled. I prefer moving forward vs having to completely reverting.

@pca006132
Copy link
Contributor Author

This one is mostly just a refactor for MediaService, so to share as much code as possible between the two build variants. The reason the other PR has a dependency on this is to avoid code duplication (I don't want to duplicate code between variants) and avoid conflict (if I duplicate code, that will conflict with this PR).

I think this one should not have subtle bugs. Either cast player works, or it doesn't. Well at least I hope so.

@eddyizm
Copy link
Owner

eddyizm commented Nov 17, 2025

ok, that sounds good. Give me some time and I can test the the chromecast feature locally here on my physical device.

Question, why is exoplayer being removed in favor the common player?

@pca006132
Copy link
Contributor Author

ok, that sounds good. Give me some time and I can test the the chromecast feature locally here on my physical device.

Thanks. I don't have the physical device so I cannot test.

Question, why is exoplayer being removed in favor the common player?

No, I just changed the class to inherit from the BaseMediaService, which contains its own ExoPlayer instance. The BaseMediaService is basically just the MediaService in the degoogled variant, plus some changes to make it easier to extend with an additional CastPlayer in the other variant.

@eddyizm
Copy link
Owner

eddyizm commented Nov 19, 2025

got busy this week but this is my number one priority to test and roll into the next release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants