|
@@ -33,6 +33,7 @@ protocol Router {
|
|
|
var mainSecondaryModalView: CurrentValueSubject<AnyView?, Never> { get }
|
|
var mainSecondaryModalView: CurrentValueSubject<AnyView?, Never> { get }
|
|
|
var alertMessage: PassthroughSubject<MessageContent, Never> { get }
|
|
var alertMessage: PassthroughSubject<MessageContent, Never> { get }
|
|
|
func view(for screen: Screen) -> AnyView
|
|
func view(for screen: Screen) -> AnyView
|
|
|
|
|
+ func allowNotify(_ message: MessageContent, _ settings: FreeAPSSettings) -> Bool
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
final class BaseRouter: Router {
|
|
final class BaseRouter: Router {
|
|
@@ -48,4 +49,23 @@ final class BaseRouter: Router {
|
|
|
func view(for screen: Screen) -> AnyView {
|
|
func view(for screen: Screen) -> AnyView {
|
|
|
screen.view(resolver: resolver).asAny()
|
|
screen.view(resolver: resolver).asAny()
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ func allowNotify(_ message: MessageContent, _ settings: FreeAPSSettings) -> Bool {
|
|
|
|
|
+ if message.type == .error { return true }
|
|
|
|
|
+ switch message.subtype {
|
|
|
|
|
+ case .pump:
|
|
|
|
|
+ guard settings.notificationsPump else { return false }
|
|
|
|
|
+ case .cgm:
|
|
|
|
|
+ guard settings.notificationsCgm else { return false }
|
|
|
|
|
+ case .carb:
|
|
|
|
|
+ guard settings.notificationsCarb else { return false }
|
|
|
|
|
+ case .glucose:
|
|
|
|
|
+ guard settings.glucoseNotificationsAlways else { return false }
|
|
|
|
|
+ case .algorithm:
|
|
|
|
|
+ guard settings.notificationsAlgorithm else { return false }
|
|
|
|
|
+ case .misc:
|
|
|
|
|
+ return true
|
|
|
|
|
+ }
|
|
|
|
|
+ return true
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|