Fix Video Player Overlay (#774)

This commit is contained in:
Ethan Pippin 2023-05-16 16:03:26 -06:00 committed by GitHub
parent ffff3c3ce7
commit a58b3f0b88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 23 deletions

View File

@ -33,9 +33,6 @@ final class VideoPlayerCoordinator: NavigationCoordinatable {
Group { Group {
if Defaults[.VideoPlayer.videoPlayerType] == .swiftfin { if Defaults[.VideoPlayer.videoPlayerType] == .swiftfin {
VideoPlayer(manager: self.videoPlayerManager) VideoPlayer(manager: self.videoPlayerManager)
.overlay {
VideoPlayer.Overlay()
}
} else { } else {
NativeVideoPlayer(manager: self.videoPlayerManager) NativeVideoPlayer(manager: self.videoPlayerManager)
} }

View File

@ -101,7 +101,6 @@ struct VideoPlayer: View {
private let gestureStateHandler: GestureStateHandler = .init() private let gestureStateHandler: GestureStateHandler = .init()
private let updateViewProxy: UpdateViewProxy = .init() private let updateViewProxy: UpdateViewProxy = .init()
private var overlay: () -> any View
@ViewBuilder @ViewBuilder
private var playerView: some View { private var playerView: some View {
@ -155,19 +154,16 @@ struct VideoPlayer: View {
} }
} }
Group { VideoPlayer.Overlay()
overlay() .environmentObject(splitContentViewProxy)
.eraseToAnyView() .environmentObject(videoPlayerManager)
} .environmentObject(videoPlayerManager.currentProgressHandler)
.environmentObject(splitContentViewProxy) .environmentObject(videoPlayerManager.currentViewModel!)
.environmentObject(videoPlayerManager) .environmentObject(videoPlayerManager.proxy)
.environmentObject(videoPlayerManager.currentProgressHandler) .environment(\.aspectFilled, $isAspectFilled)
.environmentObject(videoPlayerManager.currentViewModel!) .environment(\.isPresentingOverlay, $isPresentingOverlay)
.environmentObject(videoPlayerManager.proxy) .environment(\.isScrubbing, $isScrubbing)
.environment(\.aspectFilled, $isAspectFilled) .environment(\.playbackSpeed, $playbackSpeed)
.environment(\.isPresentingOverlay, $isPresentingOverlay)
.environment(\.isScrubbing, $isScrubbing)
.environment(\.playbackSpeed, $playbackSpeed)
} }
} }
.splitContent { .splitContent {
@ -253,14 +249,9 @@ extension VideoPlayer {
init(manager: VideoPlayerManager) { init(manager: VideoPlayerManager) {
self.init( self.init(
currentProgressHandler: manager.currentProgressHandler, currentProgressHandler: manager.currentProgressHandler,
videoPlayerManager: manager, videoPlayerManager: manager
overlay: { EmptyView() }
) )
} }
func overlay(@ViewBuilder _ content: @escaping () -> any View) -> Self {
copy(modifying: \.overlay, with: content)
}
} }
// MARK: Gestures // MARK: Gestures