From d1c493047e70aae23ebf214aa1108000dc479783 Mon Sep 17 00:00:00 2001 From: nift4 Date: Fri, 2 Jan 2026 14:07:04 +0100 Subject: [PATCH] Fixed bug where MediaController listener onAudioSessionIdChanged() was not called --- .../androidx/media3/common/ForwardingSimpleBasePlayer.java | 1 + .../main/java/androidx/media3/common/SimpleBasePlayer.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/ForwardingSimpleBasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/ForwardingSimpleBasePlayer.java index 7482218742e..42b2fc137a9 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ForwardingSimpleBasePlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/ForwardingSimpleBasePlayer.java @@ -123,6 +123,7 @@ protected State getState() { if (player.isCommandAvailable(Player.COMMAND_GET_AUDIO_ATTRIBUTES)) { state.setAudioAttributes(player.getAudioAttributes()); } + state.setAudioSessionId(player.getAudioSessionId()); state.setAvailableCommands(player.getAvailableCommands()); if (player.isCommandAvailable(Player.COMMAND_GET_CURRENT_MEDIA_ITEM)) { state.setContentBufferedPositionMs(positionSuppliers.contentBufferedPositionSupplier); diff --git a/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java index 070c4d908c1..1ad8c8fa451 100644 --- a/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java @@ -3817,6 +3817,11 @@ private void updateStateAndInformListeners( Player.EVENT_AUDIO_ATTRIBUTES_CHANGED, listener -> listener.onAudioAttributesChanged(newState.audioAttributes)); } + if (previousState.audioSessionId != newState.audioSessionId) { + listeners.queueEvent( + Player.EVENT_AUDIO_SESSION_ID, + listener -> listener.onAudioSessionIdChanged(newState.audioSessionId)); + } if (!previousState.videoSize.equals(newState.videoSize)) { listeners.queueEvent( Player.EVENT_VIDEO_SIZE_CHANGED,