MediaCompose incompatible with latest Unbundled release - 20240314
As reported by Yiqun, MediaCompose can no longer compile with the latest Unbundled release. car-media-extensions seems to be missing.
* What went wrong:
Could not determine the dependencies of task ':mediacompose-app:processDebugResources'.
> Could not resolve all task dependencies for configuration ':mediacompose-app:debugRuntimeClasspath'.
> Could not find AAOS Apps:car-media-extensions:unspecified.
Required by:
project :mediacompose-app > project :media-lib > com.android.car:car-media-common:UNBUNDLED
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 4s
25 actionable tasks: 4 executed, 21 up-to-date
Configuration cache entry stored.
Digging in:
- There's a new library in unbundled called
car-media-extensions. It does not have the local maven publishing configuration that I added to the other libraries that we need, so it's not currently accessible. This will likely require a change to Unbundled that won't be available until the next release. android.car.media.CarMediaManageris no longer accessible. It looks like it can be found inandroid.car-system-stubs, if I add acompileOnly(files(link to it inmedia-lib's dependencies it can be found again. I believe this is becausecar-media-commonused to compile in thecar-system-stubsas an implementation dependency, but now only uses the stubs as acompileOnlydependency. This can be fixed fairly easily.com.android.car.media.common.source.MediaBrowserConnector.ConnectionStatusnow seems to have aNONEXISTANTmember. Likely an easy fix.com.android.car.media.common.source.MediaSourcesProviderseems to be gone. I can find it in the20231102release of unbundled but not in the current one.com. android. car. media. common. browse. MediaItemsRepositoryhas a newoptionsargument that needs to be handled.
@yiqunw700 The new car-media-extensions library will need some Gradle configuration applied to it. The change will be made in car-apps-dev. I'll make and submit that change, and then we'll have to wait for that change to be included in a release of ub-automotive-master. So your fixes won't work until that release is made.
So what you should do is to get things working against car-apps-dev. Once you get it working there you can upload the PR here. The presubmits will fail and that's fine, we'll just let it sit until the fixes in car-apps-dev land in ub-automotive-master and merge it then.
I'll link the change for car-apps-dev once I have it ready (today or tomorrow).
@yiqunw700 ag/27085619 has been created which adds the missing publishing configuration for car-media-extensions and a new library that seems to have been added since the last public release.
I have uploaded a branch named wb/froeht/fix-mediacompose which fixes the issue with android.car.media.CarMediaManager that I described in my second comment
You should be able to use those changes to work on fixing the other three issues. I would suggest copying the change in wb/froeht/fix-mediacompose into your own branch.
#1051 should have fixed this. I might forget to close it.