summaryrefslogtreecommitdiff
path: root/src/tangara/system_fsm/running.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tangara/system_fsm/running.cpp')
-rw-r--r--src/tangara/system_fsm/running.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/tangara/system_fsm/running.cpp b/src/tangara/system_fsm/running.cpp
index 13f58ef9..87b7f1ac 100644
--- a/src/tangara/system_fsm/running.cpp
+++ b/src/tangara/system_fsm/running.cpp
@@ -59,9 +59,22 @@ void Running::react(const database::event::UpdateFinished&) {
checkIdle();
}
+void Running::react(const ui::UnmountRequest& ev) {
+ events::Audio().Dispatch(audio::TogglePlayPause{.set_to = false});
+ events::Audio().Dispatch(UnmountRequest{.idle = false});
+}
+
+void Running::react(const audio::UnmountReady& ev) {
+ if (ev.idle) {
+ transit<Idle>();
+ } else {
+ unmountStorage();
+ }
+}
+
void Running::react(const internal::UnmountTimeout&) {
if (IdleCondition()) {
- transit<Idle>();
+ events::Audio().Dispatch(UnmountRequest{.idle = true});
}
}