diff --git a/node_modules/expo-video/android/src/main/java/expo/modules/video/playbackService/ExpoVideoPlaybackService.kt b/node_modules/expo-video/android/src/main/java/expo/modules/video/playbackService/ExpoVideoPlaybackService.kt index cd798cf..34923b2 100644 --- a/node_modules/expo-video/android/src/main/java/expo/modules/video/playbackService/ExpoVideoPlaybackService.kt +++ b/node_modules/expo-video/android/src/main/java/expo/modules/video/playbackService/ExpoVideoPlaybackService.kt @@ -136,10 +136,14 @@ class ExpoVideoPlaybackService : MediaSessionService() { private fun cleanup() { hideAllNotifications() - mediaSessions.forEach { (_, session) -> + // Kopia przed iteracja: session.release() wola z powrotem unregisterPlayer, ktory + // usuwa wpis z mediaSessions w trakcie forEach -> ConcurrentModificationException + // przy zamykaniu apki z listy ostatnich (Goon, Sentry 147164135, 2026-09-15). + val sessions = mediaSessions.values.toList() + mediaSessions.clear() + sessions.forEach { session -> session.release() } - mediaSessions.clear() } private fun hidePlayerNotification(player: ExoPlayer) {