Enhance download notifications and settings; add support for live activities

- Updated notification body to use proper German quotation marks for download failure alerts.
- Refactored audio interruption handling in PlayerEngine to utilize MainActor.assumeIsolated for better performance.
- Introduced nonisolated properties for support and downloads directories in ProgressSyncManager.
- Improved FullHistoryView and MainView with additional toolbar items and alerts for download failures.
- Added new toggles in SettingsView for parallel downloads and mobile data usage.
- Created new color assets for the DownloadWidgetExtension and updated widget appearance.
- Implemented Info.plist for DownloadWidgetExtension to support widget functionality.
- Enabled live activities support in iOS Info.plist.
This commit is contained in:
Scarriffle
2026-06-08 19:32:54 +02:00
parent f053f1d320
commit 134482bb4a
23 changed files with 1104 additions and 224 deletions

View File

@@ -519,7 +519,9 @@ final class PlayerEngine {
object: AVAudioSession.sharedInstance(),
queue: .main
) { [weak self] notification in
Task { @MainActor [weak self] in
// Already on .main queue assumeIsolated hops to MainActor without
// a Task, which would otherwise capture Notification (non-Sendable).
MainActor.assumeIsolated {
self?.handleAudioInterruption(notification: notification)
}
}
@@ -529,7 +531,7 @@ final class PlayerEngine {
object: AVAudioSession.sharedInstance(),
queue: .main
) { [weak self] notification in
Task { @MainActor [weak self] in
MainActor.assumeIsolated {
self?.handleRouteChange(notification: notification)
}
}