diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index c46e680021..56df0396f9 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -1647,16 +1647,20 @@ import org.checkerframework.checker.initialization.qual.UnderInitialization; if (!oldControllerInfo.mediaButtonPreferences.equals( newControllerInfo.mediaButtonPreferences)) { getInstance() - .notifyControllerListener( - listener -> { - ignoreFuture( - listener.onSetCustomLayout( - getInstance(), newControllerInfo.mediaButtonPreferences)); - listener.onCustomLayoutChanged( - getInstance(), newControllerInfo.mediaButtonPreferences); - listener.onMediaButtonPreferencesChanged( - getInstance(), newControllerInfo.mediaButtonPreferences); - }); + .applicationHandler + .post( + () -> + getInstance() + .notifyControllerListener( + listener -> { + ignoreFuture( + listener.onSetCustomLayout( + getInstance(), newControllerInfo.mediaButtonPreferences)); + listener.onCustomLayoutChanged( + getInstance(), newControllerInfo.mediaButtonPreferences); + listener.onMediaButtonPreferencesChanged( + getInstance(), newControllerInfo.mediaButtonPreferences); + })); } return; }