package com.applicaster.oasisplayer.player import android.app.Activity import com.applicaster.oasisplayer.config.oasis.OasisContentResourceWrapper import com.applicaster.oasisplayer.config.oasis.OasisEnvironmentInitializer import de.prosiebensat1digital.oasisplayer.player_api.* import de.prosiebensat1digital.oasisplayer.widget.video.PlayerView class OasisPlayerBuilder { fun createPlayer( activity: Activity?, resourceWrapper: OasisContentResourceWrapper, playerView: PlayerView, listener: PlayerInitializationListener? = null ) { val playerEnvironment = OasisEnvironmentInitializer.getEnvironment(activity!!, resourceWrapper.playerConfigId.orEmpty()) playerEnvironment?.createPlayer { oasisPlayer, throwable -> if (oasisPlayer === null) { listener?.onInitFinished(null) return@createPlayer } // Set the activity instance to the Player to the current one oasisPlayer.activity = activity oasisPlayer.setPlayerView(playerView) resourceWrapper.contentResource?.let { oasisPlayer.addContent(it) } oasisPlayer.setPlaylistIndex(0) listener?.onInitFinished(oasisPlayer) } } } interface PlayerInitializationListener { fun onInitFinished(oasisPlayer: OasisPlayer?) }