Moves prepare controller to a try catch block

This commit is contained in:
Vitor Pamplona
2023-07-22 18:29:41 -04:00
parent ed68ca5f26
commit 5434f0fef7
@@ -3,6 +3,7 @@ package com.vitorpamplona.amethyst
import android.content.ComponentName import android.content.ComponentName
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.util.Log
import androidx.media3.session.MediaController import androidx.media3.session.MediaController
import androidx.media3.session.SessionToken import androidx.media3.session.SessionToken
import com.google.common.util.concurrent.MoreExecutors import com.google.common.util.concurrent.MoreExecutors
@@ -16,25 +17,29 @@ object PlaybackClientController {
context: Context, context: Context,
onReady: (MediaController) -> Unit onReady: (MediaController) -> Unit
) { ) {
// creating a bundle object try {
// creating a bundle object // creating a bundle object
val bundle = Bundle() // creating a bundle object
bundle.putString("id", controllerID) val bundle = Bundle()
bundle.putString("uri", videoUri) bundle.putString("id", controllerID)
bundle.putString("callbackUri", callbackUri) bundle.putString("uri", videoUri)
bundle.putString("callbackUri", callbackUri)
val sessionTokenLocal = SessionToken(context, ComponentName(context, PlaybackService::class.java)) val sessionTokenLocal = SessionToken(context, ComponentName(context, PlaybackService::class.java))
val controllerFuture = MediaController val controllerFuture = MediaController
.Builder(context, sessionTokenLocal) .Builder(context, sessionTokenLocal)
.setConnectionHints(bundle) .setConnectionHints(bundle)
.buildAsync() .buildAsync()
controllerFuture.addListener( controllerFuture.addListener(
{ {
val controller = controllerFuture.get() val controller = controllerFuture.get()
onReady(controller) onReady(controller)
}, },
MoreExecutors.directExecutor() MoreExecutors.directExecutor()
) )
} catch (e: Exception) {
Log.e("Playback Client", "Failed to load Playback Client for $videoUri", e)
}
} }
} }