mirror of
https://github.com/yattee/yattee.git
synced 2025-08-06 10:44:06 +00:00
Minor UI changes
This commit is contained in:
@@ -34,7 +34,7 @@ final class NetworkStateModel: ObservableObject {
|
||||
|
||||
var needsUpdates: Bool {
|
||||
if let player = player {
|
||||
return pausedForCache || player.isSeeking || player.isLoadingVideo
|
||||
return pausedForCache || player.isSeeking || player.isLoadingVideo || player.controls.presentingControlsOverlay
|
||||
}
|
||||
|
||||
return pausedForCache
|
||||
|
@@ -589,5 +589,5 @@ final class AVPlayerBackend: PlayerBackend {
|
||||
func stopControlsUpdates() {}
|
||||
func setNeedsDrawing(_: Bool) {}
|
||||
func setSize(_: Double, _: Double) {}
|
||||
func setNeedsNetworkStateUpdates() {}
|
||||
func setNeedsNetworkStateUpdates(_: Bool) {}
|
||||
}
|
||||
|
@@ -28,7 +28,7 @@ final class MPVBackend: PlayerBackend {
|
||||
}
|
||||
|
||||
self.controls?.isLoadingVideo = self.isLoadingVideo
|
||||
self.setNeedsNetworkStateUpdates()
|
||||
self.setNeedsNetworkStateUpdates(true)
|
||||
|
||||
if !self.isLoadingVideo {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 2) { [weak self] in
|
||||
@@ -476,7 +476,11 @@ final class MPVBackend: PlayerBackend {
|
||||
}
|
||||
}
|
||||
|
||||
func setNeedsNetworkStateUpdates() {
|
||||
networkStateTimer.resume()
|
||||
func setNeedsNetworkStateUpdates(_ needsUpdates: Bool) {
|
||||
if needsUpdates {
|
||||
networkStateTimer.resume()
|
||||
} else {
|
||||
networkStateTimer.suspend()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -52,7 +52,7 @@ protocol PlayerBackend {
|
||||
func startControlsUpdates()
|
||||
func stopControlsUpdates()
|
||||
|
||||
func setNeedsNetworkStateUpdates()
|
||||
func setNeedsNetworkStateUpdates(_ needsUpdates: Bool)
|
||||
|
||||
func setNeedsDrawing(_ needsDrawing: Bool)
|
||||
func setSize(_ width: Double, _ height: Double)
|
||||
|
@@ -6,7 +6,7 @@ final class PlayerControlsModel: ObservableObject {
|
||||
@Published var isLoadingVideo = false
|
||||
@Published var isPlaying = true
|
||||
@Published var presentingControls = false { didSet { handlePresentationChange() } }
|
||||
@Published var presentingControlsOverlay = false
|
||||
@Published var presentingControlsOverlay = false { didSet { handleOverlayPresentationChange() } }
|
||||
@Published var timer: Timer?
|
||||
|
||||
var player: PlayerModel!
|
||||
@@ -40,6 +40,10 @@ final class PlayerControlsModel: ObservableObject {
|
||||
}
|
||||
}
|
||||
|
||||
func handleOverlayPresentationChange() {
|
||||
player?.backend.setNeedsNetworkStateUpdates(presentingControlsOverlay)
|
||||
}
|
||||
|
||||
func show() {
|
||||
guard !(player?.currentItem.isNil ?? true) else {
|
||||
return
|
||||
|
@@ -67,7 +67,7 @@ final class PlayerModel: ObservableObject {
|
||||
@Published var returnYouTubeDislike = ReturnYouTubeDislikeAPI()
|
||||
|
||||
@Published var isSeeking = false { didSet {
|
||||
backend.setNeedsNetworkStateUpdates()
|
||||
backend.setNeedsNetworkStateUpdates(true)
|
||||
}}
|
||||
|
||||
#if os(iOS)
|
||||
|
Reference in New Issue
Block a user