fix: persist SponsorBlock preference between launches
This commit is contained in:
@@ -76,6 +76,7 @@ final class PlayerModel: ObservableObject {
|
||||
private var metadataLifecycle = MetadataLifecycle()
|
||||
private var metadataTask: Task<Void, Never>?
|
||||
@Published private(set) var sponsorBlockEnabled: Bool
|
||||
private let preferenceDefaults: UserDefaults
|
||||
private var sponsorVideoID: String?
|
||||
private var sponsorGeneration: UInt64 = 0
|
||||
private var sponsorTask: Task<Void, Never>?
|
||||
@@ -265,7 +266,8 @@ final class PlayerModel: ObservableObject {
|
||||
compactTitleProgress = configuration.compactTitleProgress
|
||||
automaticYouTubeQuality = configuration.automaticQuality
|
||||
showsBufferInfo = configuration.showBufferInfo
|
||||
sponsorBlockEnabled = configuration.sponsorBlock
|
||||
preferenceDefaults = defaults
|
||||
sponsorBlockEnabled = (defaults.object(forKey: "sponsorBlockEnabled") as? Bool) ?? configuration.sponsorBlock
|
||||
miruroVideoProvider = configuration.miruroVideoProvider
|
||||
miruroCaptionProvider = configuration.miruroCaptionProvider
|
||||
compactWindow = CompactWindowController(snappingEnabled: configuration.snapToEdges, defaults: defaults)
|
||||
@@ -842,6 +844,7 @@ final class PlayerModel: ObservableObject {
|
||||
func setSponsorBlockEnabled(_ enabled: Bool) {
|
||||
guard sponsorBlockEnabled != enabled else { return }
|
||||
sponsorBlockEnabled = enabled
|
||||
preferenceDefaults.set(enabled, forKey: "sponsorBlockEnabled")
|
||||
replaceSponsorMetadata(videoID: sponsorVideoID)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user