-
-
Notifications
You must be signed in to change notification settings - Fork 67
Expand file tree
/
Copy pathAppCoordinator.swift
More file actions
30 lines (24 loc) · 1 KB
/
Copy pathAppCoordinator.swift
File metadata and controls
30 lines (24 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import SwiftUI
class AppCoordinator: ObservableObject {
// MARK: - Managers
static var shared: AppCoordinator?
let libraryManager: LibraryManager
let playlistManager: PlaylistManager
let audioPlayerManager: AudioPlayerManager
let nowPlayingManager: NowPlayingManager
// MARK: - Initialization
init() {
// Initialize managers
libraryManager = LibraryManager()
playlistManager = PlaylistManager()
// Create audio player with dependencies
audioPlayerManager = AudioPlayerManager(libraryManager: libraryManager, playlistManager: playlistManager)
// Connect managers
playlistManager.setAudioPlayer(audioPlayerManager)
playlistManager.setLibraryManager(libraryManager)
// Setup now playing
nowPlayingManager = NowPlayingManager()
nowPlayingManager.connectRemoteCommandCenter(audioPlayer: audioPlayerManager, playlistManager: playlistManager)
Self.shared = self
}
}