Make it so special actions can be input while sleeping, like in #480
This commit is contained in:
		
							parent
							
								
									887c409b13
								
							
						
					
					
						commit
						60a717b1a2
					
				| @ -336,16 +336,17 @@ void SystemTask::Work() { | ||||
|           displayApp.PushMessage(Pinetime::Applications::Display::Messages::TouchEvent); | ||||
|           break; | ||||
|         case Messages::HandleButtonEvent: { | ||||
|           // This is for faster wakeup, sacrificing special longpress and doubleclick handling while sleeping
 | ||||
|           Controllers::ButtonActions action; | ||||
|           if (nrf_gpio_pin_read(Pinetime::PinMap::Button) == 0) { | ||||
|             action = buttonHandler.HandleEvent(Controllers::ButtonHandler::Events::Release); | ||||
|           } else { | ||||
|             action = buttonHandler.HandleEvent(Controllers::ButtonHandler::Events::Press); | ||||
|             // This is for faster wakeup, sacrificing special longpress and doubleclick handling while sleeping
 | ||||
|             if (IsSleeping()) { | ||||
|               fastWakeUpDone = true; | ||||
|               GoToRunning(); | ||||
|               break; | ||||
|             } | ||||
|             action = buttonHandler.HandleEvent(Controllers::ButtonHandler::Events::Press); | ||||
|           } | ||||
|           HandleButtonAction(action); | ||||
|         } break; | ||||
| @ -448,7 +449,8 @@ void SystemTask::HandleButtonAction(Controllers::ButtonActions action) { | ||||
| 
 | ||||
|   switch (action) { | ||||
|     case Actions::Click: | ||||
|       if (!isGoingToSleep) { | ||||
|       // If the first action after fast wakeup is a click, it should be ignored.
 | ||||
|       if (!fastWakeUpDone && !isGoingToSleep) { | ||||
|         displayApp.PushMessage(Applications::Display::Messages::ButtonPushed); | ||||
|       } | ||||
|       break; | ||||
| @ -462,8 +464,10 @@ void SystemTask::HandleButtonAction(Controllers::ButtonActions action) { | ||||
|       displayApp.PushMessage(Applications::Display::Messages::ButtonLongerPressed); | ||||
|       break; | ||||
|     default: | ||||
|       break; | ||||
|       return; | ||||
|   } | ||||
| 
 | ||||
|   fastWakeUpDone = false; | ||||
| } | ||||
| 
 | ||||
| void SystemTask::GoToRunning() { | ||||
|  | ||||
| @ -140,6 +140,8 @@ namespace Pinetime { | ||||
|       bool doNotGoToSleep = false; | ||||
| 
 | ||||
|       void HandleButtonAction(Controllers::ButtonActions action); | ||||
|       bool fastWakeUpDone = false; | ||||
| 
 | ||||
|       void GoToRunning(); | ||||
|       void UpdateMotion(); | ||||
|       bool stepCounterMustBeReset = false; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user