mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 16:30:31 +05:30
fix: exit fullscreen gesture
This commit is contained in:
parent
4c506de565
commit
c398936355
@ -1512,6 +1512,10 @@ class PlayerFragment : Fragment(), OnlinePlayerOptions {
|
||||
baseBottomSheet.show(childFragmentManager)
|
||||
}
|
||||
|
||||
override fun exitFullscreen() {
|
||||
unsetFullscreen()
|
||||
}
|
||||
|
||||
override fun onStatsClicked() {
|
||||
if (!this::streams.isInitialized) return
|
||||
StatsSheet(exoPlayer, videoId)
|
||||
|
@ -8,4 +8,6 @@ interface OnlinePlayerOptions {
|
||||
fun onAudioStreamClicked()
|
||||
|
||||
fun onStatsClicked()
|
||||
|
||||
fun exitFullscreen()
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ import android.view.View
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.os.postDelayed
|
||||
import androidx.core.view.ViewCompat
|
||||
@ -686,7 +685,7 @@ open class CustomExoPlayerView(
|
||||
if (distanceY >= 0) return
|
||||
|
||||
playerGestureController.isMoving = false
|
||||
(context as? AppCompatActivity)?.onBackPressedDispatcher?.onBackPressed()
|
||||
minimizeOrExitPlayer()
|
||||
}
|
||||
|
||||
override fun onSwipeEnd() {
|
||||
@ -735,6 +734,8 @@ open class CustomExoPlayerView(
|
||||
return super.onInterceptTouchEvent(ev)
|
||||
}
|
||||
|
||||
open fun minimizeOrExitPlayer() = Unit
|
||||
|
||||
companion object {
|
||||
private const val HIDE_CONTROLLER_TOKEN = "hideController"
|
||||
private const val HIDE_FORWARD_BUTTON_TOKEN = "hideForwardButton"
|
||||
|
@ -2,6 +2,7 @@ package com.github.libretube.ui.views
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import com.github.libretube.ui.extensions.toggleSystemBars
|
||||
|
||||
@ -25,4 +26,8 @@ class OfflinePlayerView(
|
||||
// the offline player requires a bigger top bar margin
|
||||
return if (isFullscreen()) 18 else super.getTopBarMarginDp()
|
||||
}
|
||||
|
||||
override fun minimizeOrExitPlayer() {
|
||||
(context as AppCompatActivity).onBackPressedDispatcher.onBackPressed()
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.media3.exoplayer.trackselection.TrackSelector
|
||||
@ -168,11 +169,6 @@ class OnlinePlayerView(
|
||||
updateTopBarMargin()
|
||||
}
|
||||
|
||||
override fun onSwipeCenterScreen(distanceY: Float) {
|
||||
super.onSwipeCenterScreen(distanceY)
|
||||
playerViewModel?.isFullscreen?.value = false
|
||||
}
|
||||
|
||||
override fun getTopBarMarginDp(): Int {
|
||||
return when {
|
||||
resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE -> 15
|
||||
@ -184,4 +180,9 @@ class OnlinePlayerView(
|
||||
override fun isFullscreen(): Boolean {
|
||||
return playerViewModel?.isFullscreen?.value ?: super.isFullscreen()
|
||||
}
|
||||
|
||||
override fun minimizeOrExitPlayer() {
|
||||
(context as? AppCompatActivity)?.onBackPressedDispatcher?.onBackPressed()
|
||||
playerViewModel?.isFullscreen?.value = false
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user