summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-09-12 14:43:28 +1000
committerjacqueline <me@jacqueline.id.au>2023-09-12 14:43:28 +1000
commitb0aa9ab391143a8139373e42ea95ccb6ed14ce60 (patch)
treed0b662df218297285bd1f25087120ec4279c74ae /src
parentad74a459216832499a41f5805fd820006c409017 (diff)
downloadtangara-fw-b0aa9ab391143a8139373e42ea95ccb6ed14ce60.tar.gz
Fix ui nits for playback screen
The top bar now updates properly when starting playback, and the upcoming list items no longer marquee.
Diffstat (limited to 'src')
-rw-r--r--src/ui/include/ui_fsm.hpp4
-rw-r--r--src/ui/screen_playing.cpp1
-rw-r--r--src/ui/ui_fsm.cpp19
3 files changed, 16 insertions, 8 deletions
diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp
index b8d2b1a0..de97354e 100644
--- a/src/ui/include/ui_fsm.hpp
+++ b/src/ui/include/ui_fsm.hpp
@@ -49,8 +49,8 @@ class UiState : public tinyfsm::Fsm<UiState> {
void react(const tinyfsm::Event& ev) {}
virtual void react(const system_fsm::BatteryStateChanged&);
- virtual void react(const audio::PlaybackStarted&){};
- virtual void react(const audio::PlaybackFinished&){};
+ virtual void react(const audio::PlaybackStarted&);
+ virtual void react(const audio::PlaybackFinished&);
virtual void react(const audio::PlaybackUpdate&) {}
virtual void react(const audio::QueueUpdate&) {}
diff --git a/src/ui/screen_playing.cpp b/src/ui/screen_playing.cpp
index 2eb4e09e..e0fff095 100644
--- a/src/ui/screen_playing.cpp
+++ b/src/ui/screen_playing.cpp
@@ -99,6 +99,7 @@ auto Playing::control_button(lv_obj_t* parent, char* icon) -> lv_obj_t* {
auto Playing::next_up_label(lv_obj_t* parent, const std::string& text)
-> lv_obj_t* {
lv_obj_t* button = lv_list_add_btn(parent, NULL, text.c_str());
+ lv_label_set_long_mode(lv_obj_get_child(button, -1), LV_LABEL_LONG_DOT);
lv_obj_add_event_cb(button, below_fold_focus_cb, LV_EVENT_FOCUSED, this);
lv_group_add_obj(group_, button);
return button;
diff --git a/src/ui/ui_fsm.cpp b/src/ui/ui_fsm.cpp
index eeaea500..104f4f1f 100644
--- a/src/ui/ui_fsm.cpp
+++ b/src/ui/ui_fsm.cpp
@@ -91,6 +91,14 @@ void UiState::react(const system_fsm::BatteryStateChanged&) {
UpdateTopBar();
}
+void UiState::react(const audio::PlaybackStarted&) {
+ UpdateTopBar();
+}
+
+void UiState::react(const audio::PlaybackFinished&) {
+ UpdateTopBar();
+}
+
void UiState::UpdateTopBar() {
auto battery_state = sServices->battery().State();
bool has_queue = sServices->track_queue().GetCurrent().has_value();
@@ -260,18 +268,17 @@ void Playing::exit() {
}
void Playing::react(const audio::PlaybackStarted& ev) {
- vTaskPrioritySet(NULL, 0);
UpdateTopBar();
sPlayingScreen->OnTrackUpdate();
}
-void Playing::react(const audio::PlaybackUpdate& ev) {
- sPlayingScreen->OnPlaybackUpdate(ev.seconds_elapsed, ev.seconds_total);
-}
-
void Playing::react(const audio::PlaybackFinished& ev) {
UpdateTopBar();
- vTaskPrioritySet(NULL, 10);
+ sPlayingScreen->OnTrackUpdate();
+}
+
+void Playing::react(const audio::PlaybackUpdate& ev) {
+ sPlayingScreen->OnPlaybackUpdate(ev.seconds_elapsed, ev.seconds_total);
}
void Playing::react(const audio::QueueUpdate& ev) {