Skip to content

Commit 6776776

Browse files
committed
Make diff smaller and revert some changes in DisplayApp
1 parent 8a694ad commit 6776776

3 files changed

Lines changed: 62 additions & 57 deletions

File tree

src/displayapp/DisplayApp.cpp

Lines changed: 60 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,28 @@ namespace {
5252
static inline bool in_isr(void) {
5353
return (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) != 0;
5454
}
55+
56+
TouchEvents ConvertGesture(Pinetime::Drivers::Cst816S::Gestures gesture) {
57+
switch (gesture) {
58+
case Pinetime::Drivers::Cst816S::Gestures::SingleTap:
59+
return TouchEvents::Tap;
60+
case Pinetime::Drivers::Cst816S::Gestures::LongPress:
61+
return TouchEvents::LongTap;
62+
case Pinetime::Drivers::Cst816S::Gestures::DoubleTap:
63+
return TouchEvents::DoubleTap;
64+
case Pinetime::Drivers::Cst816S::Gestures::SlideRight:
65+
return TouchEvents::SwipeRight;
66+
case Pinetime::Drivers::Cst816S::Gestures::SlideLeft:
67+
return TouchEvents::SwipeLeft;
68+
case Pinetime::Drivers::Cst816S::Gestures::SlideDown:
69+
return TouchEvents::SwipeDown;
70+
case Pinetime::Drivers::Cst816S::Gestures::SlideUp:
71+
return TouchEvents::SwipeUp;
72+
case Pinetime::Drivers::Cst816S::Gestures::None:
73+
default:
74+
return TouchEvents::None;
75+
}
76+
}
5577
}
5678

5779
DisplayApp::DisplayApp(Drivers::St7789& lcd,
@@ -185,6 +207,41 @@ void DisplayApp::Refresh() {
185207
LoadApp(Apps::Timer, DisplayApp::FullRefreshDirections::Down);
186208
}
187209
break;
210+
case Messages::TouchEvent: {
211+
if (state != States::Running) {
212+
break;
213+
}
214+
auto gesture = ConvertGesture(touchHandler.GestureGet());
215+
if (gesture == TouchEvents::None) {
216+
break;
217+
}
218+
if (!currentScreen->OnTouchEvent(gesture)) {
219+
if (currentApp == Apps::Clock) {
220+
switch (gesture) {
221+
case TouchEvents::SwipeUp:
222+
LoadApp(Apps::Launcher, DisplayApp::FullRefreshDirections::Up);
223+
break;
224+
case TouchEvents::SwipeDown:
225+
LoadApp(Apps::Notifications, DisplayApp::FullRefreshDirections::Down);
226+
break;
227+
case TouchEvents::SwipeRight:
228+
LoadApp(Apps::QuickSettings, DisplayApp::FullRefreshDirections::RightAnim);
229+
break;
230+
case TouchEvents::DoubleTap:
231+
PushMessageToSystemTask(System::Messages::GoToSleep);
232+
break;
233+
default:
234+
break;
235+
}
236+
} else if (returnTouchEvent == gesture) {
237+
LoadApp(returnToApp, returnDirection);
238+
brightnessController.Set(settingsController.GetBrightness());
239+
brightnessController.Backup();
240+
}
241+
} else {
242+
touchHandler.CancelTap();
243+
}
244+
} break;
188245
case Messages::ButtonPushed:
189246
if (currentApp == Apps::Clock) {
190247
PushMessageToSystemTask(System::Messages::GoToSleep);
@@ -207,44 +264,14 @@ void DisplayApp::Refresh() {
207264
}
208265
}
209266

210-
auto gesture = GetGesture();
211-
if (gesture != TouchEvents::None) {
212-
if (!currentScreen->OnTouchEvent(gesture)) {
213-
if (currentApp == Apps::Clock) {
214-
switch (gesture) {
215-
case TouchEvents::SwipeUp:
216-
LoadApp(Apps::Launcher, DisplayApp::FullRefreshDirections::Up);
217-
break;
218-
case TouchEvents::SwipeDown:
219-
LoadApp(Apps::Notifications, DisplayApp::FullRefreshDirections::Down);
220-
break;
221-
case TouchEvents::SwipeRight:
222-
LoadApp(Apps::QuickSettings, DisplayApp::FullRefreshDirections::RightAnim);
223-
break;
224-
case TouchEvents::DoubleTap:
225-
PushMessageToSystemTask(System::Messages::GoToSleep);
226-
break;
227-
default:
228-
break;
229-
}
230-
} else if (returnTouchEvent == gesture) {
231-
LoadApp(returnToApp, returnDirection);
232-
brightnessController.Set(settingsController.GetBrightness());
233-
brightnessController.Backup();
234-
}
235-
} else {
236-
touchHandler.CancelTap();
237-
}
267+
if (nextApp != Apps::None) {
268+
LoadApp(nextApp, nextDirection);
269+
nextApp = Apps::None;
238270
}
239271

240272
if (touchHandler.IsTouching()) {
241273
currentScreen->OnTouchEvent(touchHandler.GetX(), touchHandler.GetY());
242274
}
243-
244-
if (nextApp != Apps::None) {
245-
LoadApp(nextApp, nextDirection);
246-
nextApp = Apps::None;
247-
}
248275
}
249276

250277
void DisplayApp::RunningState() {
@@ -407,30 +434,6 @@ void DisplayApp::PushMessage(Messages msg) {
407434
}
408435
}
409436

410-
TouchEvents DisplayApp::GetGesture() {
411-
auto gesture = touchHandler.GestureGet();
412-
switch (gesture) {
413-
case Pinetime::Drivers::Cst816S::Gestures::SingleTap:
414-
return TouchEvents::Tap;
415-
case Pinetime::Drivers::Cst816S::Gestures::LongPress:
416-
return TouchEvents::LongTap;
417-
case Pinetime::Drivers::Cst816S::Gestures::DoubleTap:
418-
return TouchEvents::DoubleTap;
419-
case Pinetime::Drivers::Cst816S::Gestures::SlideRight:
420-
return TouchEvents::SwipeRight;
421-
case Pinetime::Drivers::Cst816S::Gestures::SlideLeft:
422-
return TouchEvents::SwipeLeft;
423-
case Pinetime::Drivers::Cst816S::Gestures::SlideDown:
424-
return TouchEvents::SwipeDown;
425-
case Pinetime::Drivers::Cst816S::Gestures::SlideUp:
426-
return TouchEvents::SwipeUp;
427-
case Pinetime::Drivers::Cst816S::Gestures::None:
428-
default:
429-
return TouchEvents::None;
430-
}
431-
return TouchEvents::None;
432-
}
433-
434437
void DisplayApp::SetFullRefresh(DisplayApp::FullRefreshDirections direction) {
435438
switch (direction) {
436439
case DisplayApp::FullRefreshDirections::Down:

src/displayapp/Messages.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ namespace Pinetime {
88
UpdateDateTime,
99
UpdateBleConnection,
1010
UpdateBatteryLevel,
11+
TouchEvent,
1112
ButtonPushed,
1213
NewNotification,
1314
TimerDone,

src/systemtask/SystemTask.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ void SystemTask::Work() {
302302
touchHandler.UpdateLvglTouchPoint();
303303
}
304304
ReloadIdleTimer();
305+
displayApp.PushMessage(Pinetime::Applications::Display::Messages::TouchEvent);
305306
break;
306307
case Messages::OnButtonEvent:
307308
ReloadIdleTimer();

0 commit comments

Comments
 (0)