@@ -198,20 +198,6 @@ void SystemTask::Work() {
198198 case Messages::GoToRunning:
199199 GoToRunning ();
200200 break ;
201- case Messages::TouchWakeUp: {
202- if (touchHandler.ProcessTouchInfo (touchPanel.GetTouchInfo ())) {
203- auto gesture = touchHandler.GestureGet ();
204- if (settingsController.GetNotificationStatus () != Controllers::Settings::Notification::Sleep &&
205- gesture != Pinetime::Applications::TouchEvents::None &&
206- ((gesture == Pinetime::Applications::TouchEvents::DoubleTap &&
207- settingsController.isWakeUpModeOn (Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) ||
208- (gesture == Pinetime::Applications::TouchEvents::Tap &&
209- settingsController.isWakeUpModeOn (Pinetime::Controllers::Settings::WakeUpMode::SingleTap)))) {
210- GoToRunning ();
211- }
212- }
213- break ;
214- }
215201 case Messages::GoToSleep:
216202 GoToSleep ();
217203 break ;
@@ -260,8 +246,23 @@ void SystemTask::Work() {
260246 // TODO add intent of fs access icon or something
261247 break ;
262248 case Messages::OnTouchEvent:
263- if (touchHandler.ProcessTouchInfo (touchPanel.GetTouchInfo ())) {
249+ // Finish immediately if no new events
250+ if (!touchHandler.ProcessTouchInfo (touchPanel.GetTouchInfo ())) {
251+ break ;
252+ }
253+ if (state == SystemTaskState::Running) {
264254 displayApp.PushMessage (Pinetime::Applications::Display::Messages::TouchEvent);
255+ } else {
256+ // If asleep, check for touch panel wake triggers
257+ auto gesture = touchHandler.GestureGet ();
258+ if (settingsController.GetNotificationStatus () != Controllers::Settings::Notification::Sleep &&
259+ gesture != Pinetime::Applications::TouchEvents::None &&
260+ ((gesture == Pinetime::Applications::TouchEvents::DoubleTap &&
261+ settingsController.isWakeUpModeOn (Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) ||
262+ (gesture == Pinetime::Applications::TouchEvents::Tap &&
263+ settingsController.isWakeUpModeOn (Pinetime::Controllers::Settings::WakeUpMode::SingleTap)))) {
264+ GoToRunning ();
265+ }
265266 }
266267 break ;
267268 case Messages::HandleButtonEvent: {
@@ -493,14 +494,7 @@ void SystemTask::HandleButtonAction(Controllers::ButtonActions action) {
493494}
494495
495496void SystemTask::OnTouchEvent () {
496- if (state == SystemTaskState::Running) {
497- PushMessage (Messages::OnTouchEvent);
498- } else {
499- if (settingsController.isWakeUpModeOn (Pinetime::Controllers::Settings::WakeUpMode::SingleTap) or
500- settingsController.isWakeUpModeOn (Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) {
501- PushMessage (Messages::TouchWakeUp);
502- }
503- }
497+ PushMessage (Messages::OnTouchEvent);
504498}
505499
506500void SystemTask::PushMessage (System::Messages msg) {
0 commit comments