From 2f16d230025c3173cfbecc58b38d6a52b6b0f5f2 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 5 Jul 2023 20:09:03 +1000 Subject: Start on wiring up playback screen to real data --- src/ui/ui_fsm.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/ui/ui_fsm.cpp') diff --git a/src/ui/ui_fsm.cpp b/src/ui/ui_fsm.cpp index 58b1f641..13658c37 100644 --- a/src/ui/ui_fsm.cpp +++ b/src/ui/ui_fsm.cpp @@ -34,6 +34,7 @@ std::weak_ptr UiState::sDb; std::stack> UiState::sScreens; std::shared_ptr UiState::sCurrentScreen; +std::unique_ptr UiState::sPlayingScreen; auto UiState::Init(drivers::IGpios* gpio_expander) -> bool { sIGpios = gpio_expander; @@ -78,16 +79,16 @@ void Splash::exit() { } void Splash::react(const system_fsm::BootComplete& ev) { - transit(); + transit(); } -void Interactive::entry() {} +void Browse::entry() {} -void Interactive::react(const system_fsm::KeyLockChanged& ev) { +void Browse::react(const system_fsm::KeyLockChanged& ev) { sDisplay->SetDisplayOn(ev.falling); } -void Interactive::react(const system_fsm::StorageMounted& ev) { +void Browse::react(const system_fsm::StorageMounted& ev) { sDb = ev.db; auto db = ev.db.lock(); if (!db) { @@ -97,7 +98,7 @@ void Interactive::react(const system_fsm::StorageMounted& ev) { PushScreen(std::make_shared(db->GetIndexes())); } -void Interactive::react(const internal::RecordSelected& ev) { +void Browse::react(const internal::RecordSelected& ev) { auto db = sDb.lock(); if (!db) { return; @@ -125,7 +126,7 @@ void Interactive::react(const internal::RecordSelected& ev) { } } -void Interactive::react(const internal::IndexSelected& ev) { +void Browse::react(const internal::IndexSelected& ev) { auto db = sDb.lock(); if (!db) { return; @@ -137,6 +138,10 @@ void Interactive::react(const internal::IndexSelected& ev) { std::move(query))); } +void Playing::react(const audio::PlaybackUpdate ev) { + sPlayingScreen->UpdateTime(ev.seconds_elapsed); +} + } // namespace states } // namespace ui -- cgit v1.2.3