Still needs some working

This commit is contained in:
Hariharan Mudaliar 2025-11-22 12:13:30 +05:30
commit 14114f5c8e

View file

@ -1044,9 +1044,7 @@ struct ContentView: View {
let interval = max(0, deadline.timeIntervalSinceNow) let interval = max(0, deadline.timeIntervalSinceNow)
musicControlHideTask = Task { @MainActor [interval] in musicControlHideTask = Task { [interval] in
defer { musicControlHideTask = nil }
if interval > 0 { if interval > 0 {
let nanoseconds = UInt64(interval * 1_000_000_000) let nanoseconds = UInt64(interval * 1_000_000_000)
try? await Task.sleep(nanoseconds: nanoseconds) try? await Task.sleep(nanoseconds: nanoseconds)
@ -1054,6 +1052,7 @@ struct ContentView: View {
guard !Task.isCancelled else { return } guard !Task.isCancelled else { return }
await MainActor.run {
if let currentDeadline = musicControlVisibilityDeadline, currentDeadline <= Date() { if let currentDeadline = musicControlVisibilityDeadline, currentDeadline <= Date() {
musicControlVisibilityDeadline = nil musicControlVisibilityDeadline = nil
} }
@ -1061,6 +1060,9 @@ struct ContentView: View {
if vm.notchState == .closed { if vm.notchState == .closed {
scheduleMusicControlWindowSync(forceRefresh: false) scheduleMusicControlWindowSync(forceRefresh: false)
} }
musicControlHideTask = nil
}
} }
} }
@ -1101,9 +1103,7 @@ struct ContentView: View {
let syncDelay = max(0, delay) let syncDelay = max(0, delay)
pendingMusicControlTask = Task { @MainActor [forceRefresh, syncDelay] in pendingMusicControlTask = Task { [forceRefresh, syncDelay] in
defer { pendingMusicControlTask = nil }
if syncDelay > 0 { if syncDelay > 0 {
let nanoseconds = UInt64(syncDelay * 1_000_000_000) let nanoseconds = UInt64(syncDelay * 1_000_000_000)
try? await Task.sleep(nanoseconds: nanoseconds) try? await Task.sleep(nanoseconds: nanoseconds)
@ -1111,11 +1111,15 @@ struct ContentView: View {
guard !Task.isCancelled else { return } guard !Task.isCancelled else { return }
await MainActor.run {
if shouldShowMusicControlWindow() { if shouldShowMusicControlWindow() {
syncMusicControlWindow(forceRefresh: forceRefresh) syncMusicControlWindow(forceRefresh: forceRefresh)
} else { } else {
hideMusicControlWindow() hideMusicControlWindow()
} }
pendingMusicControlTask = nil
}
} }
#endif #endif
} }