mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20:32 +05:30
Show status bar automatically with controls in offline player
This commit is contained in:
parent
44b893ba96
commit
2a4aad88ee
@ -6,9 +6,12 @@ import android.net.Uri
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.format.DateUtils
|
import android.text.format.DateUtils
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.view.ViewGroup.MarginLayoutParams
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.core.view.isInvisible
|
import androidx.core.view.isInvisible
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import androidx.core.view.marginTop
|
||||||
|
import androidx.core.view.updateLayoutParams
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.media3.common.C
|
import androidx.media3.common.C
|
||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
@ -29,6 +32,7 @@ import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
|
|||||||
import com.github.libretube.db.DatabaseHolder.Database
|
import com.github.libretube.db.DatabaseHolder.Database
|
||||||
import com.github.libretube.db.obj.DownloadItem
|
import com.github.libretube.db.obj.DownloadItem
|
||||||
import com.github.libretube.enums.FileType
|
import com.github.libretube.enums.FileType
|
||||||
|
import com.github.libretube.extensions.dpToPx
|
||||||
import com.github.libretube.extensions.toAndroidUri
|
import com.github.libretube.extensions.toAndroidUri
|
||||||
import com.github.libretube.extensions.updateParameters
|
import com.github.libretube.extensions.updateParameters
|
||||||
import com.github.libretube.helpers.PlayerHelper
|
import com.github.libretube.helpers.PlayerHelper
|
||||||
@ -101,6 +105,14 @@ class OfflinePlayerActivity : BaseActivity() {
|
|||||||
playerView.player = player
|
playerView.player = player
|
||||||
playerBinding = binding.player.binding
|
playerBinding = binding.player.binding
|
||||||
|
|
||||||
|
// increase the margin to the status bar
|
||||||
|
playerBinding.topBar.setPadding(
|
||||||
|
playerBinding.topBar.paddingLeft,
|
||||||
|
playerBinding.topBar.paddingTop * 2,
|
||||||
|
playerBinding.topBar.paddingRight,
|
||||||
|
playerBinding.topBar.paddingBottom
|
||||||
|
)
|
||||||
|
|
||||||
playerBinding.fullscreen.isInvisible = true
|
playerBinding.fullscreen.isInvisible = true
|
||||||
playerBinding.closeImageButton.setOnClickListener {
|
playerBinding.closeImageButton.setOnClickListener {
|
||||||
finish()
|
finish()
|
||||||
|
@ -251,12 +251,14 @@ internal class CustomExoPlayerView(
|
|||||||
cancelHideControllerTask()
|
cancelHideControllerTask()
|
||||||
super.hideController()
|
super.hideController()
|
||||||
|
|
||||||
// hide system bars if in fullscreen
|
// hide system bars if in fullscreen or offline player
|
||||||
playerViewModel?.let {
|
if (playerViewModel != null) {
|
||||||
if (it.isFullscreen.value == true) {
|
if (playerViewModel!!.isFullscreen.value == true) {
|
||||||
WindowHelper.toggleFullscreen(activity, true)
|
WindowHelper.toggleFullscreen(activity, true)
|
||||||
}
|
}
|
||||||
updateTopBarMargin()
|
updateTopBarMargin()
|
||||||
|
} else {
|
||||||
|
activity.toggleSystemBars(WindowInsetsCompat.Type.systemBars(), false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,11 +268,14 @@ internal class CustomExoPlayerView(
|
|||||||
// automatically hide the controller after 2 seconds
|
// automatically hide the controller after 2 seconds
|
||||||
enqueueHideControllerTask()
|
enqueueHideControllerTask()
|
||||||
super.showController()
|
super.showController()
|
||||||
|
|
||||||
|
// show the system bars when in offline player
|
||||||
|
if (playerViewModel == null) {
|
||||||
|
activity.toggleSystemBars(WindowInsetsCompat.Type.statusBars(), true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTouchEvent(event: MotionEvent): Boolean {
|
override fun onTouchEvent(event: MotionEvent) = false
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun initRewindAndForward() {
|
private fun initRewindAndForward() {
|
||||||
val seekIncrementText = (PlayerHelper.seekIncrement / 1000).toString()
|
val seekIncrementText = (PlayerHelper.seekIncrement / 1000).toString()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user