|
|
|
|
@ -60,7 +60,9 @@ struct ContentView<T : AbstractTimer>: View { |
|
|
|
|
|
|
|
|
|
VStack { |
|
|
|
|
|
|
|
|
|
TimersView(isEditing: self.$isEditing) |
|
|
|
|
TimersView(isEditing: self.$isEditing, siriHandler: { timer in |
|
|
|
|
self._handleSiriTips(timer: timer) |
|
|
|
|
}) |
|
|
|
|
.environment(\.managedObjectContext, viewContext) |
|
|
|
|
.environmentObject(self.boringContext) |
|
|
|
|
|
|
|
|
|
@ -74,13 +76,27 @@ struct ContentView<T : AbstractTimer>: View { |
|
|
|
|
|
|
|
|
|
Spacer() |
|
|
|
|
|
|
|
|
|
SiriTimerView(timer: self.boringContext.siriTimer) |
|
|
|
|
if UIDevice.isPhoneIdiom { |
|
|
|
|
|
|
|
|
|
HStack(alignment: .center) { |
|
|
|
|
VolumeView().padding(12.0) |
|
|
|
|
}.frame(width: 300.0, height: 40.0) |
|
|
|
|
.background(Color(white: 0.9)) |
|
|
|
|
.cornerRadius(16.0) |
|
|
|
|
SiriTimerView(timer: self.boringContext.siriTimer, isVisible: self.$siriTipShown) |
|
|
|
|
|
|
|
|
|
HStack(alignment: .center) { |
|
|
|
|
VolumeView().padding(12.0) |
|
|
|
|
}.frame(width: 300.0, height: 40.0) |
|
|
|
|
.background(Color(white: 0.9)) |
|
|
|
|
.cornerRadius(16.0) |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
HStack() { |
|
|
|
|
if self.siriTipShown { |
|
|
|
|
SiriTimerView(timer: self.boringContext.siriTimer, isVisible: self.$siriTipShown) |
|
|
|
|
Spacer() |
|
|
|
|
} |
|
|
|
|
VolumeView().padding(12.0).frame(width: 300.0, height: 40.0) |
|
|
|
|
.background(Color(white: 0.9)) |
|
|
|
|
.cornerRadius(16.0) |
|
|
|
|
}.padding(.horizontal) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
LiveTimerListView() |
|
|
|
|
.environment(\.managedObjectContext, viewContext) |
|
|
|
|
@ -134,6 +150,19 @@ struct ContentView<T : AbstractTimer>: View { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fileprivate func _handleSiriTips(timer: AbstractTimer) { |
|
|
|
|
let timerId = timer.stringId |
|
|
|
|
if !Preferences.timerSiriTips.contains(timerId) { |
|
|
|
|
self.boringContext.siriTimer = timer |
|
|
|
|
Preferences.timerSiriTips.insert(timerId) |
|
|
|
|
self.siriTipShown = true |
|
|
|
|
} else { |
|
|
|
|
self.boringContext.siriTimer = nil |
|
|
|
|
self.siriTipShown = false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MARK: - Business |
|
|
|
|
|
|
|
|
|
fileprivate func _hideTip(_ tip: Tip) { |
|
|
|
|
|