From 3b59bed4136e5ae0b13f7e3f664d6183cfdbf801 Mon Sep 17 00:00:00 2001 From: Eric Lee Date: Mon, 15 Jan 2024 21:41:06 -0800 Subject: [PATCH] [tvOS][QOL] Supports back button click when in the native player. (#947) --- Shared/Coordinators/VideoPlayerCoordinator.swift | 16 ++++++---------- .../Views/VideoPlayer/NativeVideoPlayer.swift | 2 ++ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Shared/Coordinators/VideoPlayerCoordinator.swift b/Shared/Coordinators/VideoPlayerCoordinator.swift index 3025ad7f..b5dc2507 100644 --- a/Shared/Coordinators/VideoPlayerCoordinator.swift +++ b/Shared/Coordinators/VideoPlayerCoordinator.swift @@ -46,18 +46,14 @@ final class VideoPlayerCoordinator: NavigationCoordinatable { } #else - - PreferenceUIHostingControllerView { - Group { - if Defaults[.VideoPlayer.videoPlayerType] == .swiftfin { - VideoPlayer(manager: self.videoPlayerManager) - } else { - NativeVideoPlayer(manager: self.videoPlayerManager) - } + if Defaults[.VideoPlayer.videoPlayerType] == .swiftfin { + PreferenceUIHostingControllerView { + VideoPlayer(manager: self.videoPlayerManager) } + .ignoresSafeArea() + } else { + NativeVideoPlayer(manager: self.videoPlayerManager) } - .ignoresSafeArea() - #endif } } diff --git a/Swiftfin tvOS/Views/VideoPlayer/NativeVideoPlayer.swift b/Swiftfin tvOS/Views/VideoPlayer/NativeVideoPlayer.swift index 75059e67..de4bb6b5 100644 --- a/Swiftfin tvOS/Views/VideoPlayer/NativeVideoPlayer.swift +++ b/Swiftfin tvOS/Views/VideoPlayer/NativeVideoPlayer.swift @@ -57,6 +57,8 @@ struct NativeVideoPlayerView: UIViewControllerRepresentable { func updateUIViewController(_ uiViewController: UINativeVideoPlayerViewController, context: Context) {} } +// TODO: Refactor such that this does not subclass AVPlayerViewController. Subclassing is not +// supported according to the apple docs. class UINativeVideoPlayerViewController: AVPlayerViewController { let videoPlayerManager: VideoPlayerManager