2020-07-17 16:35:39 +02:00
|
|
|
package sushi.hardcore.droidfs.file_viewers
|
|
|
|
|
2021-04-05 12:42:35 +02:00
|
|
|
import android.content.pm.ActivityInfo
|
2021-11-09 16:27:59 +01:00
|
|
|
import com.google.android.exoplayer2.ExoPlayer
|
2021-06-11 20:23:54 +02:00
|
|
|
import sushi.hardcore.droidfs.databinding.ActivityVideoPlayerBinding
|
2021-04-05 12:42:35 +02:00
|
|
|
|
2020-07-26 21:16:06 +02:00
|
|
|
class VideoPlayer: MediaPlayer() {
|
2021-04-05 12:42:35 +02:00
|
|
|
private var firstPlay = true
|
|
|
|
private val autoFit by lazy {
|
|
|
|
sharedPrefs.getBoolean("autoFit", false)
|
|
|
|
}
|
2021-06-11 20:23:54 +02:00
|
|
|
private lateinit var binding: ActivityVideoPlayerBinding
|
|
|
|
|
2020-07-17 16:35:39 +02:00
|
|
|
override fun viewFile() {
|
2021-06-11 20:23:54 +02:00
|
|
|
binding = ActivityVideoPlayerBinding.inflate(layoutInflater)
|
|
|
|
setContentView(binding.root)
|
2020-08-08 14:09:34 +02:00
|
|
|
super.viewFile()
|
2020-07-26 21:16:06 +02:00
|
|
|
}
|
|
|
|
|
2021-11-09 16:27:59 +01:00
|
|
|
override fun bindPlayer(player: ExoPlayer) {
|
2021-06-11 20:23:54 +02:00
|
|
|
binding.videoPlayer.player = player
|
2020-07-17 16:35:39 +02:00
|
|
|
}
|
2021-03-17 21:11:14 +01:00
|
|
|
|
|
|
|
override fun getFileType(): String {
|
|
|
|
return "video"
|
|
|
|
}
|
2021-04-05 12:42:35 +02:00
|
|
|
|
|
|
|
override fun onPlayerReady() {
|
|
|
|
if (firstPlay && autoFit) {
|
2021-06-11 20:23:54 +02:00
|
|
|
requestedOrientation = if (binding.videoPlayer.width < binding.videoPlayer.height) ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT else ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE
|
2021-04-05 12:42:35 +02:00
|
|
|
firstPlay = false
|
|
|
|
}
|
|
|
|
}
|
2020-07-17 16:35:39 +02:00
|
|
|
}
|