diff --git a/app/src/main/java/org/mosad/teapod/player/PlayerActivity.kt b/app/src/main/java/org/mosad/teapod/player/PlayerActivity.kt index c52d1e1..0952c70 100644 --- a/app/src/main/java/org/mosad/teapod/player/PlayerActivity.kt +++ b/app/src/main/java/org/mosad/teapod/player/PlayerActivity.kt @@ -64,8 +64,12 @@ class PlayerActivity : AppCompatActivity() { model.currentEpisodeChangedListener.add { onMediaChanged() } gestureDetector = GestureDetectorCompat(this, PlayerGestureListener()) + controller = video_view.findViewById(R.id.exo_controller) + controller.isAnimationEnabled = false // disable controls (time-bar) animation + initGUI() initActions() + initExoPlayer() // call in onCreate, exoplayer lives in view model } override fun onStart() { @@ -113,16 +117,20 @@ class PlayerActivity : AppCompatActivity() { this.finish() } - initExoPlayer() initVideoView() initTimeUpdates() + + // if the player is ready or buffering we can simply play the file again, else do nothing + if ((model.player.playbackState == ExoPlayer.STATE_READY || model.player.playbackState == ExoPlayer.STATE_BUFFERING) + ) { + model.player.play() + } } - // TODO if view model was not destroyed, don't start a new media + /** + * set play when ready and listeners + */ private fun initExoPlayer() { - controller = video_view.findViewById(R.id.exo_controller) - controller.isAnimationEnabled = false // disable controls (time-bar) animation - model.player.playWhenReady = playWhenReady model.player.addListener(object : Player.EventListener { override fun onPlaybackStateChanged(state: Int) { diff --git a/app/src/main/java/org/mosad/teapod/util/DataTypes.kt b/app/src/main/java/org/mosad/teapod/util/DataTypes.kt index 1ec2faa..bc27719 100644 --- a/app/src/main/java/org/mosad/teapod/util/DataTypes.kt +++ b/app/src/main/java/org/mosad/teapod/util/DataTypes.kt @@ -69,7 +69,7 @@ data class Info( * number = episode number (0..n) */ data class Episode( - val id: Int = 0, + val id: Int = -1, val streams: MutableList = mutableListOf(), val title: String = "", val posterUrl: String = "",