mirror of
https://github.com/cranci1/Sora.git
synced 2026-04-19 23:52:09 +00:00
fixed previous episode marking crash
This commit is contained in:
parent
9ae8f5eb54
commit
c95a0f39e8
2 changed files with 44 additions and 13 deletions
|
|
@ -96,20 +96,29 @@ struct EpisodeCell: View {
|
|||
}
|
||||
|
||||
private func markAsWatched() {
|
||||
UserDefaults.standard.set(99999999.0, forKey: "lastPlayedTime_\(episode)")
|
||||
UserDefaults.standard.set(99999999.0, forKey: "totalTime_\(episode)")
|
||||
updateProgress()
|
||||
let userDefaults = UserDefaults.standard
|
||||
userDefaults.set(99999999.0, forKey: "lastPlayedTime_\(episode)")
|
||||
userDefaults.set(99999999.0, forKey: "totalTime_\(episode)")
|
||||
userDefaults.synchronize()
|
||||
DispatchQueue.main.async {
|
||||
self.updateProgress()
|
||||
}
|
||||
}
|
||||
|
||||
private func resetProgress() {
|
||||
UserDefaults.standard.set(0.0, forKey: "lastPlayedTime_\(episode)")
|
||||
UserDefaults.standard.set(0.0, forKey: "totalTime_\(episode)")
|
||||
updateProgress()
|
||||
let userDefaults = UserDefaults.standard
|
||||
userDefaults.set(0.0, forKey: "lastPlayedTime_\(episode)")
|
||||
userDefaults.set(0.0, forKey: "totalTime_\(episode)")
|
||||
userDefaults.synchronize()
|
||||
DispatchQueue.main.async {
|
||||
self.updateProgress()
|
||||
}
|
||||
}
|
||||
|
||||
private func updateProgress() {
|
||||
let lastPlayedTime = UserDefaults.standard.double(forKey: "lastPlayedTime_\(episode)")
|
||||
let totalTime = UserDefaults.standard.double(forKey: "totalTime_\(episode)")
|
||||
let userDefaults = UserDefaults.standard
|
||||
let lastPlayedTime = userDefaults.double(forKey: "lastPlayedTime_\(episode)")
|
||||
let totalTime = userDefaults.double(forKey: "totalTime_\(episode)")
|
||||
currentProgress = totalTime > 0 ? lastPlayedTime / totalTime : 0
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -250,11 +250,21 @@ struct MediaInfoView: View {
|
|||
}
|
||||
},
|
||||
onMarkAllPrevious: {
|
||||
let userDefaults = UserDefaults.standard
|
||||
var updates = [String: Double]()
|
||||
|
||||
for ep2 in seasons[selectedSeason] where ep2.number < ep.number {
|
||||
let href = ep2.href
|
||||
UserDefaults.standard.set(99999999.0, forKey: "lastPlayedTime_\(href)")
|
||||
UserDefaults.standard.set(99999999.0, forKey: "totalTime_\(href)")
|
||||
updates["lastPlayedTime_\(href)"] = 99999999.0
|
||||
updates["totalTime_\(href)"] = 99999999.0
|
||||
}
|
||||
|
||||
for (key, value) in updates {
|
||||
userDefaults.set(value, forKey: key)
|
||||
}
|
||||
|
||||
userDefaults.synchronize()
|
||||
|
||||
refreshTrigger.toggle()
|
||||
Logger.shared.log("Marked episodes watched within season \(selectedSeason + 1) of \"\(title)\".", type: "General")
|
||||
}
|
||||
|
|
@ -290,11 +300,23 @@ struct MediaInfoView: View {
|
|||
}
|
||||
},
|
||||
onMarkAllPrevious: {
|
||||
let userDefaults = UserDefaults.standard
|
||||
var updates = [String: Double]()
|
||||
|
||||
for idx in 0..<i {
|
||||
let href = episodeLinks[idx].href
|
||||
UserDefaults.standard.set(99999999.0, forKey: "lastPlayedTime_\(href)")
|
||||
UserDefaults.standard.set(99999999.0, forKey: "totalTime_\(href)")
|
||||
if idx < episodeLinks.count {
|
||||
let href = episodeLinks[idx].href
|
||||
updates["lastPlayedTime_\(href)"] = 99999999.0
|
||||
updates["totalTime_\(href)"] = 99999999.0
|
||||
}
|
||||
}
|
||||
|
||||
for (key, value) in updates {
|
||||
userDefaults.set(value, forKey: key)
|
||||
}
|
||||
|
||||
userDefaults.synchronize()
|
||||
|
||||
refreshTrigger.toggle()
|
||||
Logger.shared.log("Marked \(ep.number - 1) episodes watched within series \"\(title)\".", type: "General")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue