From 0ea358ab8157d743dc07f12bde5fb34d03a02522 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 13 Sep 2023 10:09:04 +1000 Subject: Make the onboarding flow basically work. Much still to do! --- src/ui/include/screen_onboarding.hpp | 10 ++++++++++ src/ui/include/ui_events.hpp | 3 +++ src/ui/include/ui_fsm.hpp | 4 ++++ 3 files changed, 17 insertions(+) (limited to 'src/ui/include') diff --git a/src/ui/include/screen_onboarding.hpp b/src/ui/include/screen_onboarding.hpp index 73f2333d..81ce6d3a 100644 --- a/src/ui/include/screen_onboarding.hpp +++ b/src/ui/include/screen_onboarding.hpp @@ -42,11 +42,21 @@ class Controls : public Onboarding { Controls(); }; +class MissingSdCard : public Onboarding { + public: + MissingSdCard(); +}; + class FormatSdCard : public Onboarding { public: FormatSdCard(); }; +class InitDatabase : public Onboarding { + public: + InitDatabase(); +}; + } // namespace onboarding } // namespace screens diff --git a/src/ui/include/ui_events.hpp b/src/ui/include/ui_events.hpp index 297370db..fb3bb2d4 100644 --- a/src/ui/include/ui_events.hpp +++ b/src/ui/include/ui_events.hpp @@ -50,6 +50,9 @@ struct ShowSettingsPage : tinyfsm::Event { kAbout, } page; }; +struct OnboardingNavigate : tinyfsm::Event { + bool forwards; +}; struct ModalConfirmPressed : tinyfsm::Event {}; struct ModalCancelPressed : tinyfsm::Event {}; diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp index de97354e..5363e1a4 100644 --- a/src/ui/include/ui_fsm.hpp +++ b/src/ui/include/ui_fsm.hpp @@ -67,6 +67,7 @@ class UiState : public tinyfsm::Fsm { virtual void react(const internal::ModalConfirmPressed&) { sCurrentModal.reset(); } + virtual void react(const internal::OnboardingNavigate&) {} virtual void react(const system_fsm::DisplayReady&) {} virtual void react(const system_fsm::BootComplete&) {} @@ -101,10 +102,13 @@ class Onboarding : public UiState { public: void entry() override; + void react(const internal::OnboardingNavigate&) override; + using UiState::react; private: uint8_t progress_; + bool has_formatted_; }; class Browse : public UiState { -- cgit v1.2.3