diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt index a3035e6e7..6155dfb99 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt @@ -201,9 +201,8 @@ class Relay( fun processNewRelayMessage(newMessage: String) { val msgArray = Event.mapper.readTree(newMessage) - val type = msgArray.get(0).asText() - when (type) { + when (val type = msgArray.get(0).asText()) { "EVENT" -> { val subscriptionId = msgArray.get(1).asText() val event = Event.fromJson(msgArray.get(2)) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt index a4221de3e..9d2e18425 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt @@ -80,6 +80,7 @@ import com.vitorpamplona.amethyst.ui.theme.VolumeBottomIconSize import com.vitorpamplona.amethyst.ui.theme.imageModifier import kotlinx.collections.immutable.ImmutableList import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.delay import kotlinx.coroutines.flow.conflate import kotlinx.coroutines.flow.flow @@ -317,6 +318,7 @@ fun GetVideoController( controller.value = MediaControllerState.Loading scope.launch(Dispatchers.IO) { + Log.d("PlaybackService", "Preparing Video $videoUri ") PlaybackClientController.prepareController( uid, videoUri, @@ -367,12 +369,13 @@ fun GetVideoController( } onDispose { - scope.launch(Dispatchers.Main) { + GlobalScope.launch(Dispatchers.Main) { if (!keepPlaying.value) { // Stops and releases the media. (controller.value as? MediaControllerState.Loaded)?.instance?.let { it.stop() it.release() + Log.d("PlaybackService", "Releasing Video $videoUri ") controller.value = MediaControllerState.NotStarted } } @@ -391,6 +394,8 @@ fun GetVideoController( if (controller.value == MediaControllerState.NotStarted) { controller.value = MediaControllerState.Loading + Log.d("PlaybackService", "Preparing Video from Resume $videoUri ") + PlaybackClientController.prepareController( uid, videoUri, @@ -425,11 +430,11 @@ fun GetVideoController( } } if (event == Lifecycle.Event.ON_PAUSE) { - Log.d("PlaybackService", "Opening From Client - onPause ${controller.value} ") - scope.launch(Dispatchers.Main) { + GlobalScope.launch(Dispatchers.Main) { if (!keepPlaying.value) { // Stops and releases the media. (controller.value as? MediaControllerState.Loaded)?.instance?.let { + Log.d("PlaybackService", "Releasing Video from Pause $videoUri ") it.stop() it.release() controller.value = MediaControllerState.NotStarted