automotive-design-compose icon indicating copy to clipboard operation
automotive-design-compose copied to clipboard

MediaCompose incompatible with latest Unbundled release - 20240314

Open timothyfroehlich opened this issue 1 year ago • 3 comments

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.

timothyfroehlich avatar Apr 03 '24 15:04 timothyfroehlich

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.CarMediaManager is no longer accessible. It looks like it can be found in android.car-system-stubs, if I add a compileOnly(files( link to it in media-lib's dependencies it can be found again. I believe this is because car-media-common used to compile in the car-system-stubs as an implementation dependency, but now only uses the stubs as a compileOnly dependency. This can be fixed fairly easily.
  • com.android.car.media.common.source.MediaBrowserConnector.ConnectionStatus now seems to have a NONEXISTANT member. Likely an easy fix.
  • com.android.car.media.common.source.MediaSourcesProvider seems to be gone. I can find it in the 20231102 release of unbundled but not in the current one.
  • com. android. car. media. common. browse. MediaItemsRepository has a new options argument that needs to be handled.

timothyfroehlich avatar Apr 09 '24 19:04 timothyfroehlich

@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).

timothyfroehlich avatar Apr 23 '24 18:04 timothyfroehlich

@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.

timothyfroehlich avatar Apr 24 '24 16:04 timothyfroehlich

#1051 should have fixed this. I might forget to close it.

yiqunw700 avatar Oct 01 '24 18:10 yiqunw700