Moves prepare controller to a try catch block
This commit is contained in:
@@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user