From 76e1d8ddce648868079e5fbc224f66bd7918e3d2 Mon Sep 17 00:00:00 2001 From: cranci1 <100066266+cranci1@users.noreply.github.com> Date: Sun, 9 Feb 2025 08:57:57 +0100 Subject: [PATCH] lmao im dumb ong --- Sora/Utils/MediaPlayer/VideoPlayer.swift | 12 ++++++++++++ Sora/Views/SearchView.swift | 4 ++++ .../SettingsSubViews/SettingsViewPlayer.swift | 4 +++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Sora/Utils/MediaPlayer/VideoPlayer.swift b/Sora/Utils/MediaPlayer/VideoPlayer.swift index 154ec43..fef2ca8 100644 --- a/Sora/Utils/MediaPlayer/VideoPlayer.swift +++ b/Sora/Utils/MediaPlayer/VideoPlayer.swift @@ -67,10 +67,15 @@ class VideoPlayerViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) player?.play() + setInitialPlayerRate() } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) + if let playbackSpeed = player?.rate { + UserDefaults.standard.set(playbackSpeed, forKey: "lastPlaybackSpeed") + } + player?.pause() if let timeObserverToken = timeObserverToken { player?.removeTimeObserver(timeObserverToken) @@ -78,6 +83,13 @@ class VideoPlayerViewController: UIViewController { } } + private func setInitialPlayerRate() { + if UserDefaults.standard.bool(forKey: "rememberPlaySpeed") { + let lastPlayedSpeed = UserDefaults.standard.float(forKey: "lastPlaybackSpeed") + player?.rate = lastPlayedSpeed > 0 ? lastPlayedSpeed : 1.0 + } + } + func addPeriodicTimeObserver(fullURL: String) { guard let player = self.player else { return } diff --git a/Sora/Views/SearchView.swift b/Sora/Views/SearchView.swift index 98863fe..a7bf8d1 100644 --- a/Sora/Views/SearchView.swift +++ b/Sora/Views/SearchView.swift @@ -48,6 +48,7 @@ struct SearchView: View { .padding(.leading) .padding(.trailing, searchText.isEmpty ? 16 : 0) .disabled(selectedModule == nil) + .padding(.top) if !searchText.isEmpty { Button("Cancel") { @@ -55,6 +56,7 @@ struct SearchView: View { UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil) } .padding(.trailing) + .padding(.top) } } @@ -96,6 +98,7 @@ struct SearchView: View { } .padding() .frame(maxWidth: .infinity) + .padding(.top) } LazyVGrid(columns: [GridItem(.adaptive(minimum: 150))], spacing: 16) { @@ -117,6 +120,7 @@ struct SearchView: View { } } } + .padding(.top) .padding() } } diff --git a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewPlayer.swift b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewPlayer.swift index 4bfc929..4536623 100644 --- a/Sora/Views/SettingsView/SettingsSubViews/SettingsViewPlayer.swift +++ b/Sora/Views/SettingsView/SettingsSubViews/SettingsViewPlayer.swift @@ -38,7 +38,9 @@ struct SettingsViewPlayer: View { Toggle("Force Landscape", isOn: $isAlwaysLandscape) .tint(.accentColor) - + } + + Section(header: Text("Speed Settings")) { Toggle("Remember Playback speed", isOn: $isRememberPlaySpeed) .tint(.accentColor)