diff --git a/OSGKeyboardExt/KeyboardViewController.swift b/OSGKeyboardExt/KeyboardViewController.swift index b8dd54a..14b606e 100644 --- a/OSGKeyboardExt/KeyboardViewController.swift +++ b/OSGKeyboardExt/KeyboardViewController.swift @@ -208,14 +208,14 @@ public final class KeyboardViewController: UIInputViewController { private func advanceOnboarding() { let store = AppGroupStore() let nextPage = min(4, store.onboardingPage + 1) - store.onboardingPage = nextPage + store.setOnboardingPage(nextPage) state.onboardingPage = nextPage } private func completeOnboarding() { let store = AppGroupStore() - store.hasCompletedOnboarding = true - store.onboardingPage = 4 + store.setHasCompletedOnboarding(true) + store.setOnboardingPage(4) state.hasCompletedOnboarding = true state.onboardingPage = 4 } @@ -351,7 +351,7 @@ public final class KeyboardViewController: UIInputViewController { guard state.onboardingPage == 3 else { return } guard KeyboardSetupBridge.isReadyForOnboardingSkip else { return } let store = AppGroupStore() - store.onboardingPage = 4 + store.setOnboardingPage(4) state.onboardingPage = 4 } diff --git a/OSGKeyboardShared/Services/AppGroupStore.swift b/OSGKeyboardShared/Services/AppGroupStore.swift index 644b0d2..0879835 100644 --- a/OSGKeyboardShared/Services/AppGroupStore.swift +++ b/OSGKeyboardShared/Services/AppGroupStore.swift @@ -293,6 +293,14 @@ public struct AppGroupStore: @unchecked Sendable { set { defaults.set(newValue, forKey: "config.onboardingPage") } } + public func setHasCompletedOnboarding(_ completed: Bool) { + defaults.set(completed, forKey: "config.hasCompletedOnboarding") + } + + public func setOnboardingPage(_ page: Int) { + defaults.set(page, forKey: "config.onboardingPage") + } + // MARK: - Detected app context (v0.3.0+) /// Last app context the keyboard extension detected for this