ServiceAssembly.swift 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. import Foundation
  2. import HealthKit
  3. import Swinject
  4. final class ServiceAssembly: Assembly {
  5. func assemble(container: Container) {
  6. container.register(NotificationCenter.self) { _ in Foundation.NotificationCenter.default }
  7. container.register(Broadcaster.self) { _ in BaseBroadcaster() }
  8. container.register(GroupedIssueReporter.self) { _ in
  9. let reporter = CollectionIssueReporter()
  10. reporter.add(reporters: [
  11. SimpleLogReporter()
  12. ])
  13. reporter.setup()
  14. return reporter
  15. }
  16. container.register(CalendarManager.self) { r in BaseCalendarManager(resolver: r) }
  17. container.register(HKHealthStore.self) { _ in HKHealthStore() }
  18. container.register(HealthKitManager.self) { r in BaseHealthKitManager(resolver: r) }
  19. container.register(UserNotificationsManager.self) { r in BaseUserNotificationsManager(resolver: r) }
  20. container.register(WatchManager.self) { r in BaseWatchManager(resolver: r) }
  21. container.register(GarminManager.self) { r in BaseGarminManager(resolver: r) }
  22. container.register(AlertPermissionsChecker.self) { r in AlertPermissionsChecker(resolver: r) }
  23. if #available(iOS 16.2, *) {
  24. container.register(LiveActivityBridge.self) { r in
  25. LiveActivityBridge(resolver: r)
  26. }
  27. }
  28. }
  29. }