Big UI and navigation Rewrite
new navigation add some color to the apps redesign menus new settings menu new quick settings code clean up size reduction by converting navigation images to font and more...
This commit is contained in:
@@ -125,7 +125,7 @@ void SystemTask::Work() {
|
||||
|
||||
nrfx_gpiote_in_init(pinTouchIrq, &pinConfig, nrfx_gpiote_evt_handler);
|
||||
|
||||
idleTimer = xTimerCreate ("idleTimer", idleTime, pdFALSE, this, IdleTimerCallback);
|
||||
idleTimer = xTimerCreate ("idleTimer", pdMS_TO_TICKS(settingsController.GetScreenTimeOut()), pdFALSE, this, IdleTimerCallback);
|
||||
xTimerStart(idleTimer, 0);
|
||||
|
||||
// Suppress endless loop diagnostic
|
||||
@@ -137,14 +137,23 @@ void SystemTask::Work() {
|
||||
batteryController.Update();
|
||||
Messages message = static_cast<Messages >(msg);
|
||||
switch(message) {
|
||||
case Messages::EnableSleeping:
|
||||
doNotGoToSleep = false;
|
||||
break;
|
||||
case Messages::DisableSleeping:
|
||||
doNotGoToSleep = true;
|
||||
break;
|
||||
case Messages::UpdateTimeOut:
|
||||
xTimerChangePeriod(idleTimer, pdMS_TO_TICKS(settingsController.GetScreenTimeOut()), 0);
|
||||
break;
|
||||
case Messages::GoToRunning:
|
||||
spi.Wakeup();
|
||||
twiMaster.Wakeup();
|
||||
//twiMaster.Wakeup();
|
||||
//touchPanel.Wakeup();
|
||||
|
||||
nimbleController.StartAdvertising();
|
||||
xTimerStart(idleTimer, 0);
|
||||
spiNorFlash.Wakeup();
|
||||
touchPanel.Wakeup();
|
||||
spiNorFlash.Wakeup();
|
||||
lcd.Wakeup();
|
||||
|
||||
displayApp->PushMessage(Pinetime::Applications::Display::Messages::GoToRunning);
|
||||
@@ -167,7 +176,7 @@ void SystemTask::Work() {
|
||||
break;
|
||||
case Messages::OnNewNotification:
|
||||
if(isSleeping && !isWakingUp) GoToRunning();
|
||||
if(notificationManager.IsVibrationEnabled()) motorController.SetDuration(35);
|
||||
motorController.SetDuration(35);
|
||||
displayApp->PushMessage(Pinetime::Applications::Display::Messages::NewNotification);
|
||||
break;
|
||||
case Messages::BleConnected:
|
||||
@@ -199,10 +208,18 @@ void SystemTask::Work() {
|
||||
spiNorFlash.Sleep();
|
||||
}
|
||||
lcd.Sleep();
|
||||
touchPanel.Sleep();
|
||||
|
||||
spi.Sleep();
|
||||
twiMaster.Sleep();
|
||||
|
||||
// Double Tap needs the touch screen to be in normal mode
|
||||
if ( settingsController.getWakeUpMode() != Pinetime::Controllers::Settings::WakeUpMode::DoubleTap ) {
|
||||
//touchPanel.Sleep();
|
||||
}
|
||||
|
||||
// No Wake uo mode, we can put the twi to sleep
|
||||
if ( settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::None ) {
|
||||
//twiMaster.Sleep();
|
||||
}
|
||||
|
||||
isSleeping = true;
|
||||
isGoingToSleep = false;
|
||||
break;
|
||||
@@ -253,10 +270,22 @@ void SystemTask::GoToRunning() {
|
||||
|
||||
void SystemTask::OnTouchEvent() {
|
||||
if(isGoingToSleep) return ;
|
||||
NRF_LOG_INFO("[systemtask] Touch event");
|
||||
if(!isSleeping) {
|
||||
PushMessage(Messages::OnTouchEvent);
|
||||
displayApp->PushMessage(Pinetime::Applications::Display::Messages::TouchEvent);
|
||||
} else if(!isWakingUp) {
|
||||
if( settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::None or
|
||||
settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist ) return;
|
||||
|
||||
if( settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::SingleTap ) {
|
||||
GoToRunning();
|
||||
} else if( settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::DoubleTap ) {
|
||||
// error
|
||||
/*auto info = touchPanel.GetTouchInfo();
|
||||
if( info.isTouch and info.gesture == Pinetime::Drivers::Cst816S::Gestures::DoubleTap ) {
|
||||
GoToRunning();
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user