androidx / androidx/media

notifyChildrenChanged does not update Android Auto root

Open
#3,253 2 comments 0 reactions 1 assignee View on GitHub

@marcbaechinger is already working on this.

Since Jun 3, 2026.

bug
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

Version

Media3 main branch

More version details

exoplayer 1.8.0

Devices that reproduce the issue

Pixel 7 Pro

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps

When the user connects the phone to the car via cable and opens the android auto application, in the first phase the last cache stored in the mobile app is delivered and then a request is made to the server for the update.

The structure is of the form: “root” -> “radios” (parent:root) -> playableItems
-> “podcasts” (parent:root) -> browsableItems (categories) -> playableItemsCase 1)

Case 1:
If there is only “radios” in “root” and in the first place (by cache) I deliver 2 radios and throw the update then 5 radios in total, IF I open “now playing” screen and them moving back I can see the radio updated list. But if I remain in the “radios” screen, after the update finish, i only see the first 2 radios.

This work with/without notifyChildrenChanged the same. Because I can see the log I put in onGetChildren() when going to "now playing" screen and back


Case 2:
If I run with "radios" and "podcasts" directly in "root" from the cache and then I update the tree, even if I open "now playing" screen and them moving back I can not see any updates to any node (browseableItems/playableItems). To see the updates I must exit the app and reopen (on car media nav)

Same with/without notifyChildrenChanged on nodes to force updates. In this case I can not see anymore the log I put in onGetChildren(). It smells like a silent crash

Case 3:
If I run with the structure: "root" -> "live"(parent:root) -> "radios"(parent:live) -> ....
-> “podcasts”(parent:live) -> ….

it updates the data without using notifyChildrenChanged on any branch including : "live", "radios" and "podcasts"

So my problems are how do I update the fist data delivered from cache with the refreshed data

Expected result

Questions :


1) Is there any way to update the current visible screen on media nav ? Right now it only update if I go to “now playing” and back. Event if I use notifyChildrenChanged() with nodeID ( case 1 and 3)

2) Is there any way to update data in case-2 above? With that structure I get top tabs and that provides us better UX

Actual result

Please see Case1-3 above

Media

Not applicable

Bug Report
  • You will email the zip file produced by adb bugreport to android-media-github@google.com after filing this issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.