Skip to content

Commit 86d180a

Browse files
Riksu9000JF002
authored andcommitted
Improve gesture consistency across the firmware
1 parent 395590d commit 86d180a

3 files changed

Lines changed: 24 additions & 6 deletions

File tree

src/displayapp/screens/Metronome.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,15 @@ void Metronome::OnEvent(lv_obj_t* obj, lv_event_t event) {
113113
lv_label_set_text_fmt(bpmValue, "%03d", bpm);
114114
}
115115
tappedTime = xTaskGetTickCount();
116+
allowExit = true;
116117
}
117118
break;
118119
}
120+
case LV_EVENT_RELEASED:
121+
case LV_EVENT_PRESS_LOST:
122+
if (obj == bpmTap) {
123+
allowExit = false;
124+
}
119125
case LV_EVENT_CLICKED: {
120126
if (obj == playPause) {
121127
metronomeStarted = !metronomeStarted;
@@ -135,3 +141,11 @@ void Metronome::OnEvent(lv_obj_t* obj, lv_event_t event) {
135141
break;
136142
}
137143
}
144+
145+
bool Metronome::OnTouchEvent(TouchEvents event) {
146+
if (event == TouchEvents::SwipeDown && allowExit) {
147+
running = false;
148+
return true;
149+
}
150+
return false;
151+
}

src/displayapp/screens/Metronome.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ namespace Pinetime {
1414
~Metronome() override;
1515
void Refresh() override;
1616
void OnEvent(lv_obj_t* obj, lv_event_t event);
17+
bool OnTouchEvent(TouchEvents event) override;
1718

1819
private:
1920
TickType_t startTime = 0;
@@ -25,6 +26,7 @@ namespace Pinetime {
2526
uint8_t counter = 1;
2627

2728
bool metronomeStarted = false;
29+
bool allowExit = false;
2830

2931
lv_obj_t *bpmArc, *bpmTap, *bpmValue;
3032
lv_obj_t *bpbDropdown, *currentBpbText;

src/displayapp/screens/Music.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,12 +277,14 @@ bool Music::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
277277
return true;
278278
}
279279
case TouchEvents::SwipeDown: {
280-
lv_obj_set_hidden(btnNext, false);
281-
lv_obj_set_hidden(btnPrev, false);
282-
283-
lv_obj_set_hidden(btnVolDown, true);
284-
lv_obj_set_hidden(btnVolUp, true);
285-
return true;
280+
if (lv_obj_get_hidden(btnNext)) {
281+
lv_obj_set_hidden(btnNext, false);
282+
lv_obj_set_hidden(btnPrev, false);
283+
lv_obj_set_hidden(btnVolDown, true);
284+
lv_obj_set_hidden(btnVolUp, true);
285+
return true;
286+
}
287+
return false;
286288
}
287289
case TouchEvents::SwipeLeft: {
288290
musicService.event(Controllers::MusicService::EVENT_MUSIC_NEXT);

0 commit comments

Comments
 (0)