Fix player initializer

This commit is contained in:
Arkadiusz Fal 2022-08-29 15:31:36 +02:00
parent ac8cb98cdd
commit 53fbae29a0
3 changed files with 16 additions and 21 deletions

View File

@ -29,6 +29,8 @@ struct ContentView: View {
@Environment(\.horizontalSizeClass) private var horizontalSizeClass @Environment(\.horizontalSizeClass) private var horizontalSizeClass
#endif #endif
@State private var playerInitialized = false
let persistenceController = PersistenceController.shared let persistenceController = PersistenceController.shared
var body: some View { var body: some View {
@ -120,6 +122,7 @@ struct ContentView: View {
} }
) )
#endif #endif
.background(playerViewInitialize)
.alert(isPresented: $navigation.presentingAlert) { navigation.alert } .alert(isPresented: $navigation.presentingAlert) { navigation.alert }
} }
@ -159,6 +162,18 @@ struct ContentView: View {
.environmentObject(thumbnailsModel) .environmentObject(thumbnailsModel)
.environment(\.navigationStyle, navigationStyle) .environment(\.navigationStyle, navigationStyle)
} }
@ViewBuilder var playerViewInitialize: some View {
if !playerInitialized {
VideoPlayerView()
.scaleEffect(0.00001)
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
playerInitialized = true
}
}
}
}
} }
struct ContentView_Previews: PreviewProvider { struct ContentView_Previews: PreviewProvider {

View File

@ -231,12 +231,7 @@ struct YatteeApp: App {
subscriptions.load() subscriptions.load()
playlists.load() playlists.load()
#if os(macOS) #if !os(macOS)
Windows.player.open()
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
Windows.main.focus()
}
#else
player.updateRemoteCommandCenter() player.updateRemoteCommandCenter()
#endif #endif

View File

@ -10,8 +10,6 @@ struct TVNavigationView: View {
@Default(.visibleSections) private var visibleSections @Default(.visibleSections) private var visibleSections
@State private var playerInitialized = false
var body: some View { var body: some View {
NavigationView { NavigationView {
TabView(selection: navigation.tabSelectionBinding) { TabView(selection: navigation.tabSelectionBinding) {
@ -58,7 +56,6 @@ struct TVNavigationView: View {
.tag(TabSelection.settings) .tag(TabSelection.settings)
} }
} }
.background(videoPlayerInitialize)
.fullScreenCover(isPresented: $navigation.presentingAddToPlaylist) { .fullScreenCover(isPresented: $navigation.presentingAddToPlaylist) {
if let video = navigation.videoToAddToPlaylist { if let video = navigation.videoToAddToPlaylist {
AddToPlaylistView(video: video) AddToPlaylistView(video: video)
@ -78,18 +75,6 @@ struct TVNavigationView: View {
} }
} }
} }
@ViewBuilder var videoPlayerInitialize: some View {
if !playerInitialized {
VideoPlayerView()
.scaleEffect(0.00001)
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
playerInitialized = true
}
}
}
}
} }
struct TVNavigationView_Previews: PreviewProvider { struct TVNavigationView_Previews: PreviewProvider {