Skip to content

Commit c0cae37

Browse files
committed
feat: Hook up the background play/pause buttons
1 parent 1728edc commit c0cae37

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

PureTime/Sound/SoundManager.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,11 @@ class SoundManager: NSObject, SoundManagerProtocol {
2828
return player
2929
}()
3030

31-
override init() {
31+
init(delegate: SoundManagerDelegate) {
3232
super.init()
3333
configureRemoteTransportControls()
3434
setupAudioSession()
35+
self.delegate = delegate
3536
}
3637

3738
func setupAudioSession() {

PureTime/ViewModel/TimerViewModel.swift

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ class TimerViewModel: NSObject, ObservableObject {
77
@Published var isPlaying = false
88
@Published var elapsedTime = 0
99

10-
var soundManager: SoundManagerProtocol = SoundManager()
10+
lazy var soundManager: SoundManagerProtocol = {
11+
SoundManager(delegate: self)
12+
}()
1113

1214
var timer: Timer?
1315

@@ -65,3 +67,13 @@ extension TimerViewModel {
6567
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
6668
}
6769
}
70+
71+
extension TimerViewModel: SoundManagerDelegate {
72+
func didTapPlay() {
73+
startTimer()
74+
}
75+
76+
func didTapPause() {
77+
stopTimer()
78+
}
79+
}

0 commit comments

Comments
 (0)