From fb1cb871473a17bbb5e406cd944962dfba409f4d Mon Sep 17 00:00:00 2001 From: Nathaniel Hamming Date: Mon, 25 Sep 2023 15:28:24 -0300 Subject: [PATCH 1/7] [COASTAL-1291] plugin identifier is no longer class property (#29) --- LoopOnboardingKitUI/LoopOnboardingUI.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopOnboardingKitUI/LoopOnboardingUI.swift b/LoopOnboardingKitUI/LoopOnboardingUI.swift index b2fe4b2..c5760e2 100644 --- a/LoopOnboardingKitUI/LoopOnboardingUI.swift +++ b/LoopOnboardingKitUI/LoopOnboardingUI.swift @@ -19,7 +19,7 @@ public final class LoopOnboardingUI: OnboardingUI { public weak var onboardingDelegate: OnboardingDelegate? - public static let pluginIdentifier = "LoopOnboarding" + public let pluginIdentifier = "LoopOnboarding" public var isOnboarded: Bool { didSet { From c0b28c54b5afdcf158348133292718d634d09a1d Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Tue, 12 Dec 2023 12:36:57 -0600 Subject: [PATCH 2/7] Updates for LOOP-4752 --- .../View Controllers/OnboardingUICoordinator.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift index cc61f2d..1d93ac5 100644 --- a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift +++ b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift @@ -349,16 +349,18 @@ class OnboardingUICoordinator: UINavigationController, CGMManagerOnboarding, Pum } extension OnboardingUICoordinator: TherapySettingsViewModelDelegate { + func syncBasalRateSchedule(items: [RepeatingScheduleValue], completion: @escaping (Result) -> Void) { // Since pump isn't set up, this syncing shouldn't do anything assertionFailure() } - func syncDeliveryLimits(deliveryLimits: DeliveryLimits, completion: @escaping (Result) -> Void) { + func syncDeliveryLimits(deliveryLimits: LoopKit.DeliveryLimits) async throws -> LoopKit.DeliveryLimits { // Since pump isn't set up, this syncing shouldn't do anything assertionFailure() + return deliveryLimits } - + func saveCompletion(therapySettings: TherapySettings) { stepFinished() } From 8da22f144165c5ae0a5e8380cdae7d06d5bf5525 Mon Sep 17 00:00:00 2001 From: Cameron Ingham Date: Wed, 14 Feb 2024 13:32:25 -0800 Subject: [PATCH 3/7] [WIP][LOOP-4793] Beginning XCUI Tests --- LoopOnboardingKitUI/Views/WelcomeView.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/LoopOnboardingKitUI/Views/WelcomeView.swift b/LoopOnboardingKitUI/Views/WelcomeView.swift index 4c2d89f..5936d8b 100644 --- a/LoopOnboardingKitUI/Views/WelcomeView.swift +++ b/LoopOnboardingKitUI/Views/WelcomeView.swift @@ -19,10 +19,13 @@ struct WelcomeView: View { Text(LocalizedString("Welcome to Loop", comment: "Title on WelcomeView")) .font(.largeTitle) .fontWeight(.semibold) + Image(frameworkImage: "Loop", decorative: true) .onLongPressGesture(minimumDuration: 2) { didLongPressOnLogo?() } + .accessibilityHidden(false) + .accessibilityIdentifier("loopLogo") Text(LocalizedString("Before using Loop you need to configure a few settings. These settings should be entered with precision and care; they are a critical part of how Loop determines the right amount of insulin to deliver.\n\nIf you are new to Loop, work with your diabetes support team to determine the settings that work best for you.", comment: "Descriptive text on WelcomeView")) .foregroundColor(.secondary) From 52110dcbbc85ef2fa071b44a531ef67237645108 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 1 Mar 2024 15:02:42 -0600 Subject: [PATCH 4/7] Types moved to LoopAlgorithm --- .../View Controllers/OnboardingUICoordinator.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift index 1d93ac5..2b6e051 100644 --- a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift +++ b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift @@ -14,6 +14,7 @@ import LoopKit import LoopKitUI import NightscoutServiceKit import LoopSupportKitUI +import LoopAlgorithm enum OnboardingScreen: CaseIterable { case welcome From b32b94ce4692dbf8821032f0b49acdb292147269 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Mon, 8 Jul 2024 10:25:41 -0500 Subject: [PATCH 5/7] Updates for OnboardingUI protocol changes --- LoopOnboardingKitUI/LoopOnboardingUI.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/LoopOnboardingKitUI/LoopOnboardingUI.swift b/LoopOnboardingKitUI/LoopOnboardingUI.swift index c5760e2..fc89fcf 100644 --- a/LoopOnboardingKitUI/LoopOnboardingUI.swift +++ b/LoopOnboardingKitUI/LoopOnboardingUI.swift @@ -13,6 +13,7 @@ import LoopKitUI import LoopOnboardingKit public final class LoopOnboardingUI: OnboardingUI { + public static func createOnboarding() -> OnboardingUI { return Self() } @@ -53,7 +54,7 @@ public final class LoopOnboardingUI: OnboardingUI { ] } - public func onboardingViewController(onboardingProvider: OnboardingProvider, displayGlucosePreference: DisplayGlucosePreference, colorPalette: LoopUIColorPalette) -> (UIViewController & OnboardingViewController) { + public func onboardingViewController(onboardingProvider: OnboardingProvider, displayGlucosePreference: DisplayGlucosePreference, colorPalette: LoopUIColorPalette, adultChildInsulinModelSelectionEnabled: Bool) -> (UIViewController & OnboardingViewController) { return OnboardingUICoordinator(onboarding: self, onboardingProvider: onboardingProvider, initialTherapySettings: onboardingProvider.onboardingTherapySettings, displayGlucosePreference: displayGlucosePreference, colorPalette: colorPalette) } From e1db2cf8f1e5b468cbcb3b4a9d13de42251bcd7e Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 25 Oct 2024 14:39:21 -0500 Subject: [PATCH 6/7] Onboard nightscout service directly (#34) --- .../OnboardingUICoordinator.swift | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift index 2b6e051..5fb76c2 100644 --- a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift +++ b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift @@ -13,6 +13,7 @@ import SwiftUI import LoopKit import LoopKitUI import NightscoutServiceKit +import NightscoutServiceKitUI import LoopSupportKitUI import LoopAlgorithm @@ -272,20 +273,16 @@ class OnboardingUICoordinator: UINavigationController, CGMManagerOnboarding, Pum private func setupWithNightscout() { LoopKitAnalytics.shared.recordAnalyticsEvent("Onboarding With Nightscout", withProperties: nil, outOfSession: false) - switch onboardingProvider.onboardService(withIdentifier: OnboardingUICoordinator.serviceIdentifier) { - case .failure(let error): - log.debug("Failure to create and setup service with identifier '%{public}@': %{public}@", OnboardingUICoordinator.serviceIdentifier, String(describing: error)) - case .success(let success): - switch success { - case .userInteractionRequired(var setupViewController): - nightscoutOnboardingViewController = setupViewController - setupViewController.serviceOnboardingDelegate = self - setupViewController.completionDelegate = self - show(setupViewController, sender: self) - case .createdAndOnboarded(let service): - self.service = service - checkForAvailableSettingsImport() - } + let result = NightscoutService.setupViewController(colorPalette: colorPalette, pluginHost: onboardingProvider) + switch result { + case .userInteractionRequired(var setupViewController): + nightscoutOnboardingViewController = setupViewController + setupViewController.serviceOnboardingDelegate = self + setupViewController.completionDelegate = self + show(setupViewController, sender: self) + case .createdAndOnboarded(let service): + self.service = service + checkForAvailableSettingsImport() } } From 16e294604804d024f3e0de5697ca542bccc10e01 Mon Sep 17 00:00:00 2001 From: Nathaniel Hamming Date: Wed, 30 Oct 2024 16:35:25 -0300 Subject: [PATCH 7/7] [PAL-818] service allowDebugFeatures (#35) --- .../View Controllers/OnboardingUICoordinator.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift index 5fb76c2..a80eaf5 100644 --- a/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift +++ b/LoopOnboardingKitUI/View Controllers/OnboardingUICoordinator.swift @@ -273,7 +273,7 @@ class OnboardingUICoordinator: UINavigationController, CGMManagerOnboarding, Pum private func setupWithNightscout() { LoopKitAnalytics.shared.recordAnalyticsEvent("Onboarding With Nightscout", withProperties: nil, outOfSession: false) - let result = NightscoutService.setupViewController(colorPalette: colorPalette, pluginHost: onboardingProvider) + let result = NightscoutService.setupViewController(colorPalette: colorPalette, pluginHost: onboardingProvider, allowDebugFeatures: onboardingProvider.allowDebugFeatures) switch result { case .userInteractionRequired(var setupViewController): nightscoutOnboardingViewController = setupViewController