mirror of
https://github.com/firewalkwithm3/Sensor-Watch.git
synced 2024-11-23 03:30:30 +08:00
movement: refactor timeout to tick first, then notify
This commit is contained in:
parent
0f03257ee9
commit
ef40d58afc
|
@ -143,11 +143,6 @@ bool app_loop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we have timed out of our timeout countdown, give the app a hint that they can resign.
|
|
||||||
if (movement_state.timeout_ticks == 0) {
|
|
||||||
event.event_type = EVENT_TIMEOUT;
|
|
||||||
}
|
|
||||||
|
|
||||||
// handle background tasks, if the alarm handler told us we need to
|
// handle background tasks, if the alarm handler told us we need to
|
||||||
if (movement_state.needs_background_tasks_handled) _movement_handle_background_tasks();
|
if (movement_state.needs_background_tasks_handled) _movement_handle_background_tasks();
|
||||||
|
|
||||||
|
@ -181,9 +176,18 @@ bool app_loop() {
|
||||||
event.subsecond = movement_state.subsecond;
|
event.subsecond = movement_state.subsecond;
|
||||||
can_sleep = watch_faces[movement_state.current_watch_face].loop(event, &movement_state.settings, watch_face_contexts[movement_state.current_watch_face]);
|
can_sleep = watch_faces[movement_state.current_watch_face].loop(event, &movement_state.settings, watch_face_contexts[movement_state.current_watch_face]);
|
||||||
event.event_type = EVENT_NONE;
|
event.event_type = EVENT_NONE;
|
||||||
event.subsecond = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if we have timed out of our timeout countdown, give the app a hint that they can resign.
|
||||||
|
if (movement_state.timeout_ticks == 0) {
|
||||||
|
event.event_type = EVENT_TIMEOUT;
|
||||||
|
event.subsecond = movement_state.subsecond;
|
||||||
|
watch_faces[movement_state.current_watch_face].loop(event, &movement_state.settings, watch_face_contexts[movement_state.current_watch_face]);
|
||||||
|
event.event_type = EVENT_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
event.subsecond = 0;
|
||||||
|
|
||||||
return can_sleep && !movement_state.led_on;
|
return can_sleep && !movement_state.led_on;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ bool simple_clock_face_loop(movement_event_t event, movement_settings_t *setting
|
||||||
switch (event.event_type) {
|
switch (event.event_type) {
|
||||||
case EVENT_ACTIVATE:
|
case EVENT_ACTIVATE:
|
||||||
case EVENT_TICK:
|
case EVENT_TICK:
|
||||||
case EVENT_TIMEOUT:
|
|
||||||
case EVENT_LOW_ENERGY_UPDATE:
|
case EVENT_LOW_ENERGY_UPDATE:
|
||||||
date_time = watch_rtc_get_date_time();
|
date_time = watch_rtc_get_date_time();
|
||||||
previous_date_time = *((uint32_t *)context);
|
previous_date_time = *((uint32_t *)context);
|
||||||
|
|
Loading…
Reference in a new issue