summaryrefslogtreecommitdiff
path: root/src/ui/include/ui_fsm.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-10-04 15:38:18 +1100
committerjacqueline <me@jacqueline.id.au>2023-10-04 15:38:18 +1100
commitee8e5234562c2b9ee1bb261785135abd4f718f83 (patch)
treececd2f215dcd7298e17e9538902da8c59b7fadb8 /src/ui/include/ui_fsm.hpp
parent28633e857f86a21d874117fd677de5e8ad21d8d3 (diff)
downloadtangara-fw-ee8e5234562c2b9ee1bb261785135abd4f718f83.tar.gz
Add a basic database reindex screen
Diffstat (limited to 'src/ui/include/ui_fsm.hpp')
-rw-r--r--src/ui/include/ui_fsm.hpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp
index eef96b50..da63b77f 100644
--- a/src/ui/include/ui_fsm.hpp
+++ b/src/ui/include/ui_fsm.hpp
@@ -14,6 +14,7 @@
#include "audio_events.hpp"
#include "battery.hpp"
#include "bindey/property.h"
+#include "db_events.hpp"
#include "gpios.hpp"
#include "lvgl_task.hpp"
#include "model_playback.hpp"
@@ -75,6 +76,11 @@ class UiState : public tinyfsm::Fsm<UiState> {
}
virtual void react(const internal::OnboardingNavigate&) {}
void react(const internal::ControlSchemeChanged&);
+ virtual void react(const internal::ReindexDatabase&){};
+
+ virtual void react(const database::event::UpdateStarted&){};
+ virtual void react(const database::event::UpdateProgress&){};
+ virtual void react(const database::event::UpdateFinished&){};
virtual void react(const system_fsm::DisplayReady&) {}
virtual void react(const system_fsm::BootComplete&) {}
@@ -130,6 +136,7 @@ class Browse : public UiState {
void react(const internal::ShowNowPlaying&) override;
void react(const internal::ShowSettingsPage&) override;
+ void react(const internal::ReindexDatabase&) override;
void react(const system_fsm::StorageMounted&) override;
void react(const system_fsm::BluetoothDevicesChanged&) override;
@@ -150,6 +157,18 @@ class Playing : public UiState {
using UiState::react;
};
+class Indexing : public UiState {
+ public:
+ void entry() override;
+ void exit() override;
+
+ void react(const database::event::UpdateStarted&) override;
+ void react(const database::event::UpdateProgress&) override;
+ void react(const database::event::UpdateFinished&) override;
+
+ using UiState::react;
+};
+
class FatalError : public UiState {};
} // namespace states