Skip to content

Comments

build(deps): bump the maven group across 1 directory with 20 updates#184

Open
dependabot[bot] wants to merge 1 commit intostablefrom
dependabot/gradle/manager/maven-b4f02c5334
Open

build(deps): bump the maven group across 1 directory with 20 updates#184
dependabot[bot] wants to merge 1 commit intostablefrom
dependabot/gradle/manager/maven-b4f02c5334

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 24, 2026

Bumps the maven group with 20 updates in the /manager directory:

Package From To
gradle-wrapper 9.2.0 9.3.0
androidx.activity:activity-compose 1.10.1 1.12.2
androidx.navigation:navigation-compose 2.9.1 2.9.6
androidx.compose:compose-bom 2025.07.00 2026.01.00
androidx.lifecycle:lifecycle-runtime-ktx 2.9.2 2.10.0
androidx.lifecycle:lifecycle-runtime-compose 2.9.2 2.10.0
androidx.lifecycle:lifecycle-viewmodel-compose 2.9.2 2.10.0
androidx.webkit:webkit 1.14.0 1.15.0
androidx.media3:media3-exoplayer 1.8.0 1.9.0
androidx.media3:media3-ui 1.8.0 1.9.0
io.github.raamcosta.compose-destinations:core 2.2.0 2.3.0
io.github.raamcosta.compose-destinations:ksp 2.2.0 2.3.0
org.lsposed.libcxx:libcxx 28.1.13356709 29.0.14206865
com.google.android.material:material 1.12.0 1.13.0
com.android.application 8.13.1 9.0.0
com.android.library 8.13.1 9.0.0
org.jetbrains.kotlin.android 2.2.0 2.3.0
org.jetbrains.kotlin.plugin.compose 2.2.0 2.3.0
com.google.devtools.ksp 2.2.0-2.0.2 2.3.4
org.lsposed.lsplugin.cmaker 1.2 1.3

Updates gradle-wrapper from 9.2.0 to 9.3.0

Updates androidx.activity:activity-compose from 1.10.1 to 1.12.2

Updates androidx.navigation:navigation-compose from 2.9.1 to 2.9.6

Updates androidx.compose:compose-bom from 2025.07.00 to 2026.01.00

Updates androidx.lifecycle:lifecycle-runtime-ktx from 2.9.2 to 2.10.0

Updates androidx.lifecycle:lifecycle-runtime-compose from 2.9.2 to 2.10.0

Updates androidx.lifecycle:lifecycle-viewmodel-compose from 2.9.2 to 2.10.0

Updates androidx.lifecycle:lifecycle-runtime-compose from 2.9.2 to 2.10.0

Updates androidx.lifecycle:lifecycle-viewmodel-compose from 2.9.2 to 2.10.0

Updates androidx.webkit:webkit from 1.14.0 to 1.15.0

Updates androidx.media3:media3-exoplayer from 1.8.0 to 1.9.0

Release notes

Sourced from androidx.media3:media3-exoplayer's releases.

1.9.0 (2025-12-17)

  • Common Library:
    • Update minSdk to 23 in line with other AndroidX libraries.
    • Add PlayerTransferState, which facilitates transferring the playback state across Player instances.
    • Add void mute() and void unmute() methods to Player that preserve and consequently restore Player's volume before and after setting it to zero.
    • Publish utility classes WakeLockManager, WifiLockManager, AudioFocusManager, AudioBecomingNoisyManager and StuckPlayerDetector previously used by ExoPlayer internally to allow reuse for other players (#1893).
    • Fix ForwardingPlayer listener handling when the underlying delegate player uses reference equality for comparing listener instances (#2675).
    • Add a Player.listenTo suspending extension function in the media3-common-ktx library that specifies the particular Player.Events that should be acted upon.
    • Fix a crash in BasePlayer.getBufferedPercentage resulting from integer overflow when the reported buffered position is implausibly much larger than the reported duration (#2750).
    • Fix auto-detection of TrackGroup track type by not ignoring custom sample MIME type and falling back to using the potentially wrong track type from the container MIME type (#2860).
  • ExoPlayer:
    • Add a stuck player detection that triggers a StuckPlayerException player error if the player seems stuck. This happens in the following cases, where each default timeout can be configured in ExoPlayer.Builder if required:
      • After 10 minutes of STATE_BUFFERING while trying to play and no buffering progress.
      • After 10 seconds of STATE_READY while trying to play and no playback progress.
      • After 1 minute of STATE_READY beyond the declared duration without reaching the end of the item.
      • After 10 minutes with a playback suppression reason while trying to play.
    • Enable wake lock handling by default to fix issues with buffering during background playback. This is equivalent to setting ExoPlayer.Builder.setWakeMode to C.WAKE_MODE_LOCAL.
    • Add listening logic to automatically update the virtual device ID when a change is reported to the Context originally passed to ExoPlayer.Builder.
    • Add ExoPlayer.setVirtualDeviceId to manually update the virtual device ID obtained from the Context passed to ExoPlayer.Builder.
    • Ensure renderers don't consume data from the next playlist item more than 10 seconds before the end of the current item.
    • Add setSeekBackIncrementMs, setSeekForwardIncrementMs and setMaxSeekToPreviousPositionMs to ExoPlayer to update these settings after construction (#2736).
    • Add pre-caching functionality in DefaultPreloadManager. Apps now can return DefaultPreloadManager.PreloadStatus.specifiedRangeCached(startPositionMs, durationMs) or DefaultPreloadManager.PreloadStatus.specifiedRangeCached(durationMs) via TargetPreloadStatusControl.getTargetPreloadStatus(T rankingData) to indicate that a media item needs to be pre-cached.
    • Use pre-caching functionality of DefaultPreloadManager in shortform demo app.
    • Add DefaultLoadControl.Builder setters for local playback and adjust default values of DefaultLoadControl to work well with a wide range of local files.
    • Fix bug where setting an empty playlist can leave the player in STATE_READY or STATE_BUFFERING.
    • Enhance the preload manager APIs:
      • Add addMediaItems(List<MediaItem>, List<T>) and addMediaSources(List<MediaSource>, List<T>) that add the media items or media sources in batch, and automatically call invalidate() afterwards.
      • Add removeMediaItems((List<MediaItem>) and removeMediaSources(List<MediaSource>) that remove the media items or media sources in batch, and make sure that preload manager does not start to preload or continue preloading any of them after removal.
      • Allow DefaultPreloadManager.setCurrentPlayingIndex(int) to invalidate itself automatically. Apps don't need to call invalidate() explicitly anymore after updating the current playing index.
    • Add capability to skip keyframe reset for forward seeks within the same group of pictures while in scrubbing mode.
    • Add DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int) for apps to set a value of target buffer bytes for a player with the specified playerName. The DefaultLoadControl can now make decisions of each player separately based on its own allocated bytes and target buffer bytes.
    • Add SkipInfo to the AdPlaybackState.AdGroup to carry skip information for each ad in the ad group.
    • Fix bug where calling removeMediaItems(List) during playing a post-roll created a crash (#2746).
    • Fix some stuttering in playlist playback where frames were mistakenly always set as the last sample and rendered.
    • Enable retry path if player fails to generate audio session ID (#2382, #2678).
    • Add support to control the total buffer bytes for the sources in DefaultPreloadManager to avoid total buffer bytes for preloading from growing arbitrarily. To use the default control logic, Apps can set the target buffer bytes for preloading via DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int) for a playerName of PlayerId.Preload.name ("preload"), and inject the created DefaultLoadControl via DefaultPreloadManager.Builder.setLoadControl(LoadControl).
    • Add cloneAndSet(int, int) to ShuffleOrder with a default implementation (#2834).
    • Append content resume offset when skipping ad playback after seek adjustment or auto transition (#2484).
    • Add API to set and observe codec parameters for audio and video tracks. This feature is implemented for MediaCodec based renderers and requires API 29+.
      • Use ExoPlayer.setAudioCodecParameters() and ExoPlayer.setVideoCodecParameters() to apply parameters.
      • Use ExoPlayer.addAudioCodecParametersChangeListener() and ExoPlayer.addVideoCodecParametersChangeListener() to listen for changes. Observing vendor-specific keys requires API 31+.
    • Fix IllegalStateException caused by setting an empty media source after seeking to a non-zero position and then preparing the player with a non-empty media source.
    • Fix bug where seeking into other media items while in scrubbing mode could cause IllegalStateException.
    • Fix potential NullPointerException in DefaultPlaybackSessionManager (#2885).
    • Enable improvements in seeking performance for eligible videos.
    • Re-enable use of asynchronous decryption in MediaCodec on API 36+ where timeout issues with this platform API have been fixed (#1641).
    • Change the default value of MediaCodecVideoRenderer.experimentalSetLateThresholdToDropDecoderInputUs to 15ms and enable more efficient dropping of video frames before decoding for eligible videos.
    • Add maximum memory limit to the automatic memory calculation in DefaultLoadControl. This should only take effect if an excessive number of tracks get selected (#2860).
    • Fix bug where, if playing in a playlist or repeat mode, seeking in scrub mode near the end could cause a seek to the next media item.

... (truncated)

Changelog

Sourced from androidx.media3:media3-exoplayer's changelog.

1.9.0 (2025-12-17)

  • Common Library:
    • Update minSdk to 23 in line with other AndroidX libraries.
    • Add PlayerTransferState, which facilitates transferring the playback state across Player instances.
    • Add void mute() and void unmute() methods to Player that preserve and consequently restore Player's volume before and after setting it to zero.
    • Publish utility classes WakeLockManager, WifiLockManager, AudioFocusManager, AudioBecomingNoisyManager and StuckPlayerDetector previously used by ExoPlayer internally to allow reuse for other players (#1893).
    • Fix ForwardingPlayer listener handling when the underlying delegate player uses reference equality for comparing listener instances (#2675).
    • Add a Player.listenTo suspending extension function in the media3-common-ktx library that specifies the particular Player.Events that should be acted upon.
    • Fix a crash in BasePlayer.getBufferedPercentage resulting from integer overflow when the reported buffered position is implausibly much larger than the reported duration (#2750).
    • Fix auto-detection of TrackGroup track type by not ignoring custom sample MIME type and falling back to using the potentially wrong track type from the container MIME type (#2860).
  • ExoPlayer:
    • Add a stuck player detection that triggers a StuckPlayerException player error if the player seems stuck. This happens in the following cases, where each default timeout can be configured in ExoPlayer.Builder if required:
      • After 10 minutes of STATE_BUFFERING while trying to play and no buffering progress.
      • After 10 seconds of STATE_READY while trying to play and no playback progress.
      • After 1 minute of STATE_READY beyond the declared duration without reaching the end of the item.
      • After 10 minutes with a playback suppression reason while trying to play.
    • Enable wake lock handling by default to fix issues with buffering during background playback. This is equivalent to setting ExoPlayer.Builder.setWakeMode to C.WAKE_MODE_LOCAL.
    • Add listening logic to automatically update the virtual device ID when a change is reported to the Context originally passed to ExoPlayer.Builder.
    • Add ExoPlayer.setVirtualDeviceId to manually update the virtual device ID obtained from the Context passed to ExoPlayer.Builder.
    • Ensure renderers don't consume data from the next playlist item more

... (truncated)

Commits
  • 7cc1056 Merge branch 'release' into release-1.9.0
  • fd594d0 Version bump to media3:1.9.0
  • 9c69f72 Update release notes for 1.9.0 stable
  • 91b0c17 Fix proguard ignores
  • f8b3162 Ignore effect flaky test
  • 43fb86a Increase connection timeout
  • 05096b3 Clean up release notes
  • a397565 Remove unreleased changes section from release notes
  • da6a2b1 Disable tests that can't read asset files from test-proguard
  • 25226aa Fix release notes
  • Additional commits viewable in compare view

Updates androidx.media3:media3-ui from 1.8.0 to 1.9.0

Release notes

Sourced from androidx.media3:media3-ui's releases.

1.9.0 (2025-12-17)

  • Common Library:
    • Update minSdk to 23 in line with other AndroidX libraries.
    • Add PlayerTransferState, which facilitates transferring the playback state across Player instances.
    • Add void mute() and void unmute() methods to Player that preserve and consequently restore Player's volume before and after setting it to zero.
    • Publish utility classes WakeLockManager, WifiLockManager, AudioFocusManager, AudioBecomingNoisyManager and StuckPlayerDetector previously used by ExoPlayer internally to allow reuse for other players (#1893).
    • Fix ForwardingPlayer listener handling when the underlying delegate player uses reference equality for comparing listener instances (#2675).
    • Add a Player.listenTo suspending extension function in the media3-common-ktx library that specifies the particular Player.Events that should be acted upon.
    • Fix a crash in BasePlayer.getBufferedPercentage resulting from integer overflow when the reported buffered position is implausibly much larger than the reported duration (#2750).
    • Fix auto-detection of TrackGroup track type by not ignoring custom sample MIME type and falling back to using the potentially wrong track type from the container MIME type (#2860).
  • ExoPlayer:
    • Add a stuck player detection that triggers a StuckPlayerException player error if the player seems stuck. This happens in the following cases, where each default timeout can be configured in ExoPlayer.Builder if required:
      • After 10 minutes of STATE_BUFFERING while trying to play and no buffering progress.
      • After 10 seconds of STATE_READY while trying to play and no playback progress.
      • After 1 minute of STATE_READY beyond the declared duration without reaching the end of the item.
      • After 10 minutes with a playback suppression reason while trying to play.
    • Enable wake lock handling by default to fix issues with buffering during background playback. This is equivalent to setting ExoPlayer.Builder.setWakeMode to C.WAKE_MODE_LOCAL.
    • Add listening logic to automatically update the virtual device ID when a change is reported to the Context originally passed to ExoPlayer.Builder.
    • Add ExoPlayer.setVirtualDeviceId to manually update the virtual device ID obtained from the Context passed to ExoPlayer.Builder.
    • Ensure renderers don't consume data from the next playlist item more than 10 seconds before the end of the current item.
    • Add setSeekBackIncrementMs, setSeekForwardIncrementMs and setMaxSeekToPreviousPositionMs to ExoPlayer to update these settings after construction (#2736).
    • Add pre-caching functionality in DefaultPreloadManager. Apps now can return DefaultPreloadManager.PreloadStatus.specifiedRangeCached(startPositionMs, durationMs) or DefaultPreloadManager.PreloadStatus.specifiedRangeCached(durationMs) via TargetPreloadStatusControl.getTargetPreloadStatus(T rankingData) to indicate that a media item needs to be pre-cached.
    • Use pre-caching functionality of DefaultPreloadManager in shortform demo app.
    • Add DefaultLoadControl.Builder setters for local playback and adjust default values of DefaultLoadControl to work well with a wide range of local files.
    • Fix bug where setting an empty playlist can leave the player in STATE_READY or STATE_BUFFERING.
    • Enhance the preload manager APIs:
      • Add addMediaItems(List<MediaItem>, List<T>) and addMediaSources(List<MediaSource>, List<T>) that add the media items or media sources in batch, and automatically call invalidate() afterwards.
      • Add removeMediaItems((List<MediaItem>) and removeMediaSources(List<MediaSource>) that remove the media items or media sources in batch, and make sure that preload manager does not start to preload or continue preloading any of them after removal.
      • Allow DefaultPreloadManager.setCurrentPlayingIndex(int) to invalidate itself automatically. Apps don't need to call invalidate() explicitly anymore after updating the current playing index.
    • Add capability to skip keyframe reset for forward seeks within the same group of pictures while in scrubbing mode.
    • Add DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int) for apps to set a value of target buffer bytes for a player with the specified playerName. The DefaultLoadControl can now make decisions of each player separately based on its own allocated bytes and target buffer bytes.
    • Add SkipInfo to the AdPlaybackState.AdGroup to carry skip information for each ad in the ad group.
    • Fix bug where calling removeMediaItems(List) during playing a post-roll created a crash (#2746).
    • Fix some stuttering in playlist playback where frames were mistakenly always set as the last sample and rendered.
    • Enable retry path if player fails to generate audio session ID (#2382, #2678).
    • Add support to control the total buffer bytes for the sources in DefaultPreloadManager to avoid total buffer bytes for preloading from growing arbitrarily. To use the default control logic, Apps can set the target buffer bytes for preloading via DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int) for a playerName of PlayerId.Preload.name ("preload"), and inject the created DefaultLoadControl via DefaultPreloadManager.Builder.setLoadControl(LoadControl).
    • Add cloneAndSet(int, int) to ShuffleOrder with a default implementation (#2834).
    • Append content resume offset when skipping ad playback after seek adjustment or auto transition (#2484).
    • Add API to set and observe codec parameters for audio and video tracks. This feature is implemented for MediaCodec based renderers and requires API 29+.
      • Use ExoPlayer.setAudioCodecParameters() and ExoPlayer.setVideoCodecParameters() to apply parameters.
      • Use ExoPlayer.addAudioCodecParametersChangeListener() and ExoPlayer.addVideoCodecParametersChangeListener() to listen for changes. Observing vendor-specific keys requires API 31+.
    • Fix IllegalStateException caused by setting an empty media source after seeking to a non-zero position and then preparing the player with a non-empty media source.
    • Fix bug where seeking into other media items while in scrubbing mode could cause IllegalStateException.
    • Fix potential NullPointerException in DefaultPlaybackSessionManager (#2885).
    • Enable improvements in seeking performance for eligible videos.
    • Re-enable use of asynchronous decryption in MediaCodec on API 36+ where timeout issues with this platform API have been fixed (#1641).
    • Change the default value of MediaCodecVideoRenderer.experimentalSetLateThresholdToDropDecoderInputUs to 15ms and enable more efficient dropping of video frames before decoding for eligible videos.
    • Add maximum memory limit to the automatic memory calculation in DefaultLoadControl. This should only take effect if an excessive number of tracks get selected (#2860).
    • Fix bug where, if playing in a playlist or repeat mode, seeking in scrub mode near the end could cause a seek to the next media item.

... (truncated)

Changelog

Sourced from androidx.media3:media3-ui's changelog.

1.9.0 (2025-12-17)

  • Common Library:
    • Update minSdk to 23 in line with other AndroidX libraries.
    • Add PlayerTransferState, which facilitates transferring the playback state across Player instances.
    • Add void mute() and void unmute() methods to Player that preserve and consequently restore Player's volume before and after setting it to zero.
    • Publish utility classes WakeLockManager, WifiLockManager, AudioFocusManager, AudioBecomingNoisyManager and StuckPlayerDetector previously used by ExoPlayer internally to allow reuse for other players (#1893).
    • Fix ForwardingPlayer listener handling when the underlying delegate player uses reference equality for comparing listener instances (#2675).
    • Add a Player.listenTo suspending extension function in the media3-common-ktx library that specifies the particular Player.Events that should be acted upon.
    • Fix a crash in BasePlayer.getBufferedPercentage resulting from integer overflow when the reported buffered position is implausibly much larger than the reported duration (#2750).
    • Fix auto-detection of TrackGroup track type by not ignoring custom sample MIME type and falling back to using the potentially wrong track type from the container MIME type (#2860).
  • ExoPlayer:
    • Add a stuck player detection that triggers a StuckPlayerException player error if the player seems stuck. This happens in the following cases, where each default timeout can be configured in ExoPlayer.Builder if required:
      • After 10 minutes of STATE_BUFFERING while trying to play and no buffering progress.
      • After 10 seconds of STATE_READY while trying to play and no playback progress.
      • After 1 minute of STATE_READY beyond the declared duration without reaching the end of the item.
      • After 10 minutes with a playback suppression reason while trying to play.
    • Enable wake lock handling by default to fix issues with buffering during background playback. This is equivalent to setting ExoPlayer.Builder.setWakeMode to C.WAKE_MODE_LOCAL.
    • Add listening logic to automatically update the virtual device ID when a change is reported to the Context originally passed to ExoPlayer.Builder.
    • Add ExoPlayer.setVirtualDeviceId to manually update the virtual device ID obtained from the Context passed to ExoPlayer.Builder.
    • Ensure renderers don't consume data from the next playlist item more

... (truncated)

Commits
  • 7cc1056 Merge branch 'release' into release-1.9.0
  • fd594d0 Version bump to media3:1.9.0
  • 9c69f72 Update release notes for 1.9.0 stable
  • 91b0c17 Fix proguard ignores
  • f8b3162 Ignore effect flaky test
  • 43fb86a Increase connection timeout
  • 05096b3 Clean up release notes
  • a397565 Remove unreleased changes section from release notes
  • da6a2b1 Disable tests that can't read asset files from test-proguard
  • 25226aa Fix release notes
  • Additional commits viewable in compare view

Updates androidx.media3:media3-ui from 1.8.0 to 1.9.0

Release notes

Sourced from androidx.media3:media3-ui's releases.

1.9.0 (2025-12-17)

  • Common Library:
    • Update minSdk to 23 in line with other AndroidX libraries.
    • Add PlayerTransferState, which facilitates transferring the playback state across Player instances.
    • Add void mute() and void unmute() methods to Player that preserve and consequently restore Player's volume before and after setting it to zero.
    • Publish utility classes WakeLockManager, WifiLockManager, AudioFocusManager, AudioBecomingNoisyManager and StuckPlayerDetector previously used by ExoPlayer internally to allow reuse for other players (#1893).
    • Fix ForwardingPlayer listener handling when the underlying delegate player uses reference equality for comparing listener instances (#2675).
    • Add a Player.listenTo suspending extension function in the media3-common-ktx library that specifies the particular Player.Events that should be acted upon.
    • Fix a crash in BasePlayer.getBufferedPercentage resulting from integer overflow when the reported buffered position is implausibly much larger than the reported duration (#2750).
    • Fix auto-detection of TrackGroup track type by not ignoring custom sample MIME type and falling back to using the potentially wrong track type from the container MIME type (#2860).
  • ExoPlayer:
    • Add a stuck player detection that triggers a StuckPlayerException player error if the player seems stuck. This happens in the following cases, where each default timeout can be configured in ExoPlayer.Builder if required:
      • After 10 minutes of STATE_BUFFERING while trying to play and no buffering progress.
      • After 10 seconds of STATE_READY while trying to play and no playback progress.
      • After 1 minute of STATE_READY beyond the declared duration without reaching the end of the item.
      • After 10 minutes with a playback suppression reason while trying to play.
    • Enable wake lock handling by default to fix issues with buffering during background playback. This is equivalent to setting ExoPlayer.Builder.setWakeMode to C.WAKE_MODE_LOCAL.
    • Add listening logic to automatically update the virtual device ID when a change is reported to the Context originally passed to ExoPlayer.Builder.
    • Add ExoPlayer.setVirtualDeviceId to manually update the virtual device ID obtained from the Context passed to ExoPlayer.Builder.
    • Ensure renderers don't consume data from the next playlist item more than 10 seconds before the end of the current item.
    • Add setSeekBackIncrementMs, setSeekForwardIncrementMs and setMaxSeekToPreviousPositionMs to ExoPlayer to update these settings after construction (#2736).
    • Add pre-caching functionality in DefaultPreloadManager. Apps now can return DefaultPreloadManager.PreloadStatus.specifiedRangeCached(startPositionMs, durationMs) or DefaultPreloadManager.PreloadStatus.specifiedRangeCached(durationMs) via TargetPreloadStatusControl.getTargetPreloadStatus(T rankingData) to indicate that a media item needs to be pre-cached.
    • Use pre-caching functionality of DefaultPreloadManager in shortform demo app.
    • Add DefaultLoadControl.Builder setters for local playback and adjust default values of DefaultLoadControl to work well with a wide range of local files.
    • Fix bug where setting an empty playlist can leave the player in STATE_READY or STATE_BUFFERING.
    • Enhance the preload manager APIs:
      • Add addMediaItems(List<MediaItem>, List<T>) and addMediaSources(List<MediaSource>, List<T>) that add the media items or media sources in batch, and automatically call invalidate() afterwards.
      • Add removeMediaItems((List<MediaItem>) and removeMediaSources(List<MediaSource>) that remove the media items or media sources in batch, and make sure that preload manager does not start to preload or continue preloading any of them after removal.
      • Allow DefaultPreloadManager.setCurrentPlayingIndex(int) to invalidate itself automatically. Apps don't need to call invalidate() explicitly anymore after updating the current playing index.
    • Add capability to skip keyframe reset for forward seeks within the same group of pictures while in scrubbing mode.
    • Add DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int) for apps to set a value of target buffer bytes for a player with the specified playerName. The DefaultLoadControl can now make decisions of each player separately based on its own allocated bytes and target buffer bytes.
    • Add SkipInfo to the AdPlaybackState.AdGroup to carry skip information for each ad in the ad group.
    • Fix bug where calling removeMediaItems(List) during playing a post-roll created a crash (#2746).
    • Fix some stuttering in playlist playback where frames were mistakenly always set as the last sample and rendered.
    • Enable retry path if player fails to generate audio session ID (#2382, #2678).
    • Add support to control the total buffer bytes for the sources in DefaultPreloadManager to avoid total buffer bytes for preloading from growing arbitrarily. To use the default control logic, Apps can set the target buffer bytes for preloading via DefaultLoadControl.Builder.setPlayerTargetBufferBytes(String, int) for a playerName of PlayerId.Preload.name ("preload"), and inject the created DefaultLoadControl via DefaultPreloadManager.Builder.setLoadControl(LoadControl).
    • Add cloneAndSet(int, int) to ShuffleOrder with a default implementation (#2834).
    • Append content resume offset when skipping ad playback after seek adjustment or auto transition (#2484).
    • Add API to set and observe codec parameters for audio and video tracks. This feature is implemented for MediaCodec based renderers and requires API 29+.
      • Use ExoPlayer.setAudioCodecParameters() and ExoPlayer.setVideoCodecParameters() to apply parameters.
      • Use ExoPlayer.addAudioCodecParametersChangeListener() and ExoPlayer.addVideoCodecParametersChangeListener() to listen for changes. Observing vendor-specific keys requires API 31+.
    • Fix IllegalStateException caused by setting an empty media source after seeking to a non-zero position and then preparing the player with a non-empty media source.
    • Fix bug where seeking into other media items while in scrubbing mode could cause IllegalStateException.
    • Fix potential NullPointerException in DefaultPlaybackSessionManager (#2885).
    • Enable improvements in seeking performance for eligible videos.
    • Re-enable use of asynchronous decryption in MediaCodec on API 36+ where timeout issues with this platform API have been fixed (#1641).
    • Change the default value of MediaCodecVideoRenderer.experimentalSetLateThresholdToDropDecoderInputUs to 15ms and enable more efficient dropping of video frames before decoding for eligible videos.
    • Add maximum memory limit to the automatic memory calculation in DefaultLoadControl. This should only take effect if an excessive number of tracks get selected (#2860).
    • Fix bug where, if playing in a playlist or repeat mode, seeking in scrub mode near the end could cause a seek to the next media item.

... (truncated)

Changelog

Sourced from androidx.media3:media3-ui's changelog.

1.9.0 (2025-12-17)

  • Common Library:
    • Update minSdk to 23 in line with other AndroidX libraries.
    • Add PlayerTransferState, which facilitates transferring the playback state across Player instances.
    • Add void mute() and void unmute() methods to Player that preserve and consequently restore Player's volume before and after setting it to zero.
    • Publish utility classes WakeLockManager, WifiLockManager, AudioFocusManager, AudioBecomingNoisyManager and StuckPlayerDetector previously used by ExoPlayer internally to allow reuse for other players (#1893).
    • Fix ForwardingPlayer listener handling when the underlying delegate player uses reference equality for comparing listener instances (#2675).
    • Add a Player.listenTo suspending extension function in the media3-common-ktx library that specifies the particular Player.Events that should be acted upon.
    • Fix a crash in BasePlayer.getBufferedPercentage resulting from integer overflow when the reported buffered position is implausibly much larger than the reported duration (#2750).
    • Fix auto-detection of TrackGroup track type by not ignoring custom sample MIME type and falling back to using the potentially wrong track type from the container MIME type (#2860).
  • ExoPlayer:
    • Add a stuck player detection that triggers a StuckPlayerException player error if the player seems stuck. This happens in the following cases, where each default timeout can be configured in ExoPlayer.Builder if required:
      • After 10 minutes of STATE_BUFFERING while trying to play and no buffering progress.
      • After 10 seconds of STATE_READY while trying to play and no playback progress.
      • After 1 minute of STATE_READY beyond the declared duration without reaching the end of the item.
      • After 10 minutes with a playback suppression reason while trying to play.
    • Enable wake lock handling by default to fix issues with buffering during background playback. This is equivalent to setting ExoPlayer.Builder.setWakeMode to C.WAKE_MODE_LOCAL.
    • Add listening logic to automatically update the virtual device ID when a change is reported to the Context originally passed to ExoPlayer.Builder.
    • Add ExoPlayer.setVirtualDeviceId to manually update the virtual device ID obtained from the Context passed to ExoPlayer.Builder.
    • Ensure renderers don't consume data from the next playlist item more

... (truncated)

Commits
  • 7cc1056 Merge branch 'release' into release-1.9.0
  • fd594d0 Version bump to media3:1.9.0
  • 9c69f72 Update release notes for 1.9.0 stable
  • 91b0c17 Fix proguard ignores
  • f8b3162 Ignore effect flaky test
  • 43fb86a Increase connection timeout
  • 05096b3 Clean up release notes
  • a397565 Remove unreleased changes section from release notes
  • da6a2b1 Disable tests that can't read asset files from test-proguard
  • 25226aa Fix release notes
  • Additional commits viewable in compare view

Updates io.github.raamcosta.compose-destinations:core from 2.2.0 to 2.3.0

Release notes

Sourced from io.github.raamcosta.compose-destinations:core's releases.

2.3.0

Main changes

  • Updated Compose to 1.9, compose jetpack navigation and Kotlin.

Full Changelog: raamcosta/compose-destinations@2.2.0...2.3.0

Commits

Updates io.github.raamcosta.compose-destinations:ksp from 2.2.0 to 2.3.0

Release notes

Sourced from io.github.raamcosta.compose-destinations:ksp's releases.

2.3.0

Main changes

  • Updated Compose to 1.9, compose jetpack navigation and Kotlin.

Full Changelog: raamcosta/compose-destinations@2.2.0...2.3.0

Commits

Updates io.github.raamcosta.compose-destinations:ksp from 2.2.0 to 2.3.0

Release notes

Sourced from io.github.raamcosta.compose-destinations:ksp's releases.

2.3.0

Main changes

  • Updated Compose to 1.9, compose jetpack navigation and Kotlin.

Full Changelog: raamcosta/compose-destinations@2.2.0...2.3.0

Commits

Updates org.lsposed.libcxx:libcxx from 28.1.13356709 to 29.0.14206865

Commits

Updates com.google.android.material:material from 1.12.0 to 1.13.0

Release notes

Sourced from com.google.android.material:material's releases.

1.13.0

New in 1.13.0!

Important

  • Required minSdkVersion is now 21 or higher, for Material and AndroidX.
  • Now built with compileSdkVersion 35, Android Gradle Plugin (AGP) 8.7.3, Gradle 8.9, and android.nonTransitiveRClass=true.
  • Material 3 Expressive has moved to the 1.14.0 versions of the library. To get a sneak peak, update to version 1.14.0-alpha04 and use the Material3Expressive themes/styles in conjunction with new components mentioned above.

Dependency Updates

Dependency Previous version New version
androidx.appcompat:appcompat 1.6.1 1.7.0
androidx.constraintlayout:constraintlayout 2.0.1 2.1.0
androidx.dynamicanimation:dynamicanimation 1.0.0 1.1.0
androidx.graphics:graphics-shapes N/A 1.0.1
com.android.tools.build:gradle 7.4.2 8.7.3

Library Updates

  • A11y
    • Include "hour" and "minute" in announcements. For example: "Not checked, Hour - 11'0 clock. double tap to select Hour". (960bb4cb825c607c244d51ed4f302752912e37cc)
    • Move responsibility of disabling hide on scroll to HideViewOnScrollBehavior and BottomAppBar (9c33476db68ffc15151b742516da2f7e8c4a98f7)
    • Prevent hide on scroll when Talkback is on (d56070586102b66486f7f8697de077c3d7689922)
    • Add missing 'button' mention to Talkback output for close icon. (79bd7d7b1ba46b0593c7758a81b02bdb5a1dbf67)
  • BottomNavigationView
    • Update catalog demo to demonstrate adaptive bottom navigation bar (76936c42c43164b9930f616266f215bf7045003a)
    • Fix early return in setItemGravity() (8a4d3c695117c46cf1c7235744d81196fb97110f)
  • BottomSheet
    • Prevent ACTION_DOWN events on the BottomSheetHandleDragView from setting touchingScrollChild to true. (af7f254bf660704368d46e630d34a81c479fa1c7)
    • Fix keyboard animation on Android 14 (a0b4dfa8769f98851efe97569c900f75eb0d5ef2)
    • Fixed main catalog demo cutting off content when screen size is too small. (005687d1b64ea5542168183511861f7d023682da)
    • Remove disruptive announcement "Drag handle double tapped"for BottomSheetDragHandleView. (95025c6728e49946c55d4b2688f97fa1d321cd02)
  • Carousel
    • Recyclerview children do not inherit layout direction (ca0b870a344ef6e8f5fadc1ec417ef11f5b23340)
    • Update keyline state if necessary if item size changes (52228c1b3bd50dd1a81bdaae40aeb93ef4d9ea9b)
    • Update multi-browse strategy to always have at least 1 medium item (916e9085f9ca66704f907fd6af14d7e55df5d411)
    • Recalculate keyline state if it doesn't match the current container size (d0f5d721a1f83b3b115d7f20bf865fb1df9063a3)
  • Checkbox
    • Update translations. (771119111e58d101f2540f0bbbb572073ff9c053)
  • Chip
    • Get default minTouchTargetSize from material attributes (436437a6fbf2d28658fea46320a350db33c7a455)
    • Add a show all Chip for a11y (8e334213fc806b399ec014bdf68a3778064de308)
    • Updated flow layout to correctly layout padding when in RTL. (1eaf483fc94f522546d349e6984e24c15d226d18)
    • Fix close icon focus ripple (a7ff8c9006b69cbfcc346f74ed8a9ebad6661346)

... (truncated)

Commits
  • 84c0e6d Update library version to 1.13.0
  • 46fde74 [Theme] Added missing Shape Attributes to Dialog themes
  • 8f58fcc Update library version to 1.13.0-rc01
  • 64867cf [ProgressIndicator] Updated to not throw exceptions for calling `setIndetermi...
  • f89b8af [LoadingIndicator] Added a default static drawable, which is displayed when t...
  • d56330d Update library version to 1.13.0-beta01
  • 1886cf0 [LoadingIndicator] Fixed the animation no constant rotation.
  • 61c5a6d [Internal] Restore binary compatibility (ViewOverlay)
  • e722464 [MaterialButton] Updated the shapes of buttons when the orientation is changed.
  • df9074c [ButtonGroup] Fixed connected button groups to not morph button size.
  • Additional commits viewable in compare view

Updates com.android.application from 8.13.1 to 9.0.0

Updates com.android.library from 8.13.1 to 9.0.0

Updates com.android.library from 8.13.1 to 9.0.0

Updates org.jetbrains.kotlin.android from 2.2.0 to 2.3.0

Release notes

Sourced from org.jetbrains.kotlin.android's releases.

Kotlin 2.3.0

Changelog

Analysis API

  • KT-80082 K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop
  • KT-80303 Move :native:analysis-api-klib-reader to :libraries:tools

Analysis API. Code Compilation

  • KT-70860 K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var
  • KT-78554 K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation
  • KT-73201 K2 IDE: Error while evaluating expressions with local classes

Analysis API. FIR

  • KT-81378 Expected expression 'FirFunctionCallImpl' to be resolved caused by suspend {}
  • KT-80473 Add events for tracking LL activities
  • KT-46375 Analysis API: Support cross-file class redeclaration checks using indices
  • KT-80471 Analysis API: Deduplicate equivalent call candidates in resolveToCallCandidates
  • KT-79653 [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries
  • KT-75858 K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter
  • KT-80231 AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases
  • KT-80233 Pull mutation out of AnnotationArgumentsStateKeepers
  • KT-71466 LLFirBuiltinsSessionFactory uses createCompositeSymbolProvider
  • KT-76432 JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl

Analysis API. Infrastructure

  • Description has been truncated

Bumps the maven group with 20 updates in the /manager directory:

| Package | From | To |
| --- | --- | --- |
| gradle-wrapper | `9.2.0` | `9.3.0` |
| androidx.activity:activity-compose | `1.10.1` | `1.12.2` |
| androidx.navigation:navigation-compose | `2.9.1` | `2.9.6` |
| androidx.compose:compose-bom | `2025.07.00` | `2026.01.00` |
| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.2` | `2.10.0` |
| androidx.lifecycle:lifecycle-runtime-compose | `2.9.2` | `2.10.0` |
| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.2` | `2.10.0` |
| androidx.webkit:webkit | `1.14.0` | `1.15.0` |
| [androidx.media3:media3-exoplayer](https://github.com/androidx/media) | `1.8.0` | `1.9.0` |
| [androidx.media3:media3-ui](https://github.com/androidx/media) | `1.8.0` | `1.9.0` |
| [io.github.raamcosta.compose-destinations:core](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |
| [io.github.raamcosta.compose-destinations:ksp](https://github.com/raamcosta/compose-destinations) | `2.2.0` | `2.3.0` |
| [org.lsposed.libcxx:libcxx](https://github.com/LSPosed/prefab-libcxx) | `28.1.13356709` | `29.0.14206865` |
| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |
| com.android.application | `8.13.1` | `9.0.0` |
| com.android.library | `8.13.1` | `9.0.0` |
| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.0` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.3.0` |
| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.3.4` |
| [org.lsposed.lsplugin.cmaker](https://github.com/LSPosed/LSPlugin) | `1.2` | `1.3` |



Updates `gradle-wrapper` from 9.2.0 to 9.3.0

Updates `androidx.activity:activity-compose` from 1.10.1 to 1.12.2

Updates `androidx.navigation:navigation-compose` from 2.9.1 to 2.9.6

Updates `androidx.compose:compose-bom` from 2025.07.00 to 2026.01.00

Updates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.2 to 2.10.0

Updates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0

Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0

Updates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0

Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.10.0

Updates `androidx.webkit:webkit` from 1.14.0 to 1.15.0

Updates `androidx.media3:media3-exoplayer` from 1.8.0 to 1.9.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.8.0...1.9.0)

Updates `androidx.media3:media3-ui` from 1.8.0 to 1.9.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.8.0...1.9.0)

Updates `androidx.media3:media3-ui` from 1.8.0 to 1.9.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.8.0...1.9.0)

Updates `io.github.raamcosta.compose-destinations:core` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/raamcosta/compose-destinations/releases)
- [Commits](raamcosta/compose-destinations@2.2.0...2.3.0)

Updates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/raamcosta/compose-destinations/releases)
- [Commits](raamcosta/compose-destinations@2.2.0...2.3.0)

Updates `io.github.raamcosta.compose-destinations:ksp` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/raamcosta/compose-destinations/releases)
- [Commits](raamcosta/compose-destinations@2.2.0...2.3.0)

Updates `org.lsposed.libcxx:libcxx` from 28.1.13356709 to 29.0.14206865
- [Commits](LSPosed/prefab-libcxx@28.1.13356709...29.0.14206865)

Updates `com.google.android.material:material` from 1.12.0 to 1.13.0
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](material-components/material-components-android@1.12.0...1.13.0)

Updates `com.android.application` from 8.13.1 to 9.0.0

Updates `com.android.library` from 8.13.1 to 9.0.0

Updates `com.android.library` from 8.13.1 to 9.0.0

Updates `org.jetbrains.kotlin.android` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.3.0)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.3.0)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.3.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.3.0)

Updates `com.google.devtools.ksp` from 2.2.0-2.0.2 to 2.3.4
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.2.0-2.0.2...2.3.4)

Updates `org.lsposed.lsplugin.cmaker` from 1.2 to 1.3
- [Commits](https://github.com/LSPosed/LSPlugin/commits)

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.activity:activity-compose
  dependency-version: 1.12.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.navigation:navigation-compose
  dependency-version: 2.9.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven
- dependency-name: androidx.compose:compose-bom
  dependency-version: 2026.01.00
  dependency-type: direct:production
  dependency-group: maven
- dependency-name: androidx.lifecycle:lifecycle-runtime-ktx
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.lifecycle:lifecycle-runtime-compose
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.lifecycle:lifecycle-runtime-compose
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.webkit:webkit
  dependency-version: 1.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.media3:media3-exoplayer
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.media3:media3-ui
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: androidx.media3:media3-ui
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: io.github.raamcosta.compose-destinations:core
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: io.github.raamcosta.compose-destinations:ksp
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: io.github.raamcosta.compose-destinations:ksp
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: org.lsposed.libcxx:libcxx
  dependency-version: 29.0.14206865
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: maven
- dependency-name: com.google.android.material:material
  dependency-version: 1.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: com.android.application
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: maven
- dependency-name: com.android.library
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: maven
- dependency-name: com.android.library
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: maven
- dependency-name: org.jetbrains.kotlin.android
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: com.google.devtools.ksp
  dependency-version: 2.3.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
- dependency-name: org.lsposed.lsplugin.cmaker
  dependency-version: '1.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Jan 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants