From 5434f0fef7d2d2500a5e50c17c69859045e1d6e3 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 22 Jul 2023 18:29:41 -0400 Subject: [PATCH] Moves prepare controller to a try catch block --- .../amethyst/PlaybackClientController.kt | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/PlaybackClientController.kt b/app/src/main/java/com/vitorpamplona/amethyst/PlaybackClientController.kt index d680fe815..be4b2f7e4 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/PlaybackClientController.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/PlaybackClientController.kt @@ -3,6 +3,7 @@ package com.vitorpamplona.amethyst import android.content.ComponentName import android.content.Context import android.os.Bundle +import android.util.Log import androidx.media3.session.MediaController import androidx.media3.session.SessionToken import com.google.common.util.concurrent.MoreExecutors @@ -16,25 +17,29 @@ object PlaybackClientController { context: Context, onReady: (MediaController) -> Unit ) { - // creating a bundle object - // creating a bundle object - val bundle = Bundle() - bundle.putString("id", controllerID) - bundle.putString("uri", videoUri) - bundle.putString("callbackUri", callbackUri) + try { + // creating a bundle object + // creating a bundle object + val bundle = Bundle() + bundle.putString("id", controllerID) + bundle.putString("uri", videoUri) + bundle.putString("callbackUri", callbackUri) - val sessionTokenLocal = SessionToken(context, ComponentName(context, PlaybackService::class.java)) - val controllerFuture = MediaController - .Builder(context, sessionTokenLocal) - .setConnectionHints(bundle) - .buildAsync() + val sessionTokenLocal = SessionToken(context, ComponentName(context, PlaybackService::class.java)) + val controllerFuture = MediaController + .Builder(context, sessionTokenLocal) + .setConnectionHints(bundle) + .buildAsync() - controllerFuture.addListener( - { - val controller = controllerFuture.get() - onReady(controller) - }, - MoreExecutors.directExecutor() - ) + controllerFuture.addListener( + { + val controller = controllerFuture.get() + onReady(controller) + }, + MoreExecutors.directExecutor() + ) + } catch (e: Exception) { + Log.e("Playback Client", "Failed to load Playback Client for $videoUri", e) + } } }