mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 03:59:35 +01:00
Merge pull request #3272 from parneet-guraya/issue/save-media-playback-state
Save media playback state
This commit is contained in:
commit
2c936aaf5b
@ -4,9 +4,11 @@
|
|||||||
* @author Marcel Hibbe
|
* @author Marcel Hibbe
|
||||||
* @author Andy Scherzinger
|
* @author Andy Scherzinger
|
||||||
* @author Ezhil Shanmugham
|
* @author Ezhil Shanmugham
|
||||||
|
* @author Parneet Singh
|
||||||
* Copyright (C) 2021 Andy Scherzinger <info@andy-scherzinger.de>
|
* Copyright (C) 2021 Andy Scherzinger <info@andy-scherzinger.de>
|
||||||
* Copyright (C) 2021 Marcel Hibbe <dev@mhibbe.de>
|
* Copyright (C) 2021 Marcel Hibbe <dev@mhibbe.de>
|
||||||
* Copyright (C) 2023 Ezhil Shanmugham <ezhil56x.contact@gmail.com>
|
* Copyright (C) 2023 Ezhil Shanmugham <ezhil56x.contact@gmail.com>
|
||||||
|
* Copyright (c) 2023 Parneet Singh <gurayaparneet@gmail.com>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -51,7 +53,10 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
|
|||||||
lateinit var binding: ActivityFullScreenMediaBinding
|
lateinit var binding: ActivityFullScreenMediaBinding
|
||||||
|
|
||||||
private lateinit var path: String
|
private lateinit var path: String
|
||||||
private lateinit var player: ExoPlayer
|
private var player: ExoPlayer? = null
|
||||||
|
|
||||||
|
private var playWhenReadyState: Boolean = true
|
||||||
|
private var playBackPosition: Long = 0L
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
menuInflater.inflate(R.menu.menu_preview, menu)
|
menuInflater.inflate(R.menu.menu_preview, menu)
|
||||||
@ -122,11 +127,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
|
|||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
initializePlayer()
|
initializePlayer()
|
||||||
|
preparePlayer()
|
||||||
val mediaItem: MediaItem = MediaItem.fromUri(path)
|
|
||||||
player.setMediaItem(mediaItem)
|
|
||||||
player.prepare()
|
|
||||||
player.play()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
@ -137,12 +138,26 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
|
|||||||
private fun initializePlayer() {
|
private fun initializePlayer() {
|
||||||
player = ExoPlayer.Builder(applicationContext).build()
|
player = ExoPlayer.Builder(applicationContext).build()
|
||||||
binding.playerView.player = player
|
binding.playerView.player = player
|
||||||
player.playWhenReady = true
|
player?.addListener(this)
|
||||||
player.addListener(this)
|
}
|
||||||
|
|
||||||
|
private fun preparePlayer() {
|
||||||
|
val mediaItem: MediaItem = MediaItem.fromUri(path)
|
||||||
|
player?.let { exoPlayer ->
|
||||||
|
exoPlayer.setMediaItem(mediaItem)
|
||||||
|
exoPlayer.playWhenReady = playWhenReadyState
|
||||||
|
exoPlayer.seekTo(playBackPosition)
|
||||||
|
exoPlayer.prepare()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun releasePlayer() {
|
private fun releasePlayer() {
|
||||||
player.release()
|
player?.let { exoPlayer ->
|
||||||
|
playBackPosition = exoPlayer.currentPosition
|
||||||
|
playWhenReadyState = exoPlayer.playWhenReady
|
||||||
|
exoPlayer.release()
|
||||||
|
}
|
||||||
|
player = null
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun hideSystemUI() {
|
private fun hideSystemUI() {
|
||||||
|
Loading…
Reference in New Issue
Block a user