Improve orientation observing

This commit is contained in:
Arkadiusz Fal 2022-07-10 13:14:07 +02:00
parent 1e21c50b5d
commit 2cb849ad8e

View File

@ -46,6 +46,7 @@ struct VideoPlayerView: View {
#if os(iOS)
@State private var viewVerticalOffset = Self.hiddenOffset
@State private var orientationObserver: Any?
#endif
@EnvironmentObject<AccountsModel> private var accounts
@ -117,6 +118,7 @@ struct VideoPlayerView: View {
Orientation.lockOrientation(.allButUpsideDown)
}
viewVerticalOffset = Self.hiddenOffset
stopOrientationUpdates()
}
}
#endif
@ -441,7 +443,7 @@ struct VideoPlayerView: View {
}
}
NotificationCenter.default.addObserver(
orientationObserver = NotificationCenter.default.addObserver(
forName: OrientationTracker.deviceOrientationChangedNotification,
object: nil,
queue: .main
@ -476,6 +478,11 @@ struct VideoPlayerView: View {
}
}
}
private func stopOrientationUpdates() {
guard let observer = orientationObserver else { return }
NotificationCenter.default.removeObserver(observer)
}
#endif
#if os(tvOS)