Leaving sleep with alarm button up doesn't trigger alarm button
This commit is contained in:
parent
4375ca37e0
commit
7d5aaf60ca
@ -490,6 +490,7 @@ static void _sleep_mode_app_loop(void) {
|
||||
// we also have to handle background tasks here in the mini-runloop
|
||||
if (movement_state.needs_background_tasks_handled) _movement_handle_background_tasks();
|
||||
|
||||
movement_state.ignore_alarm_after_sleep = true;
|
||||
event.event_type = EVENT_LOW_ENERGY_UPDATE;
|
||||
watch_faces[movement_state.current_face_idx].loop(event, &movement_state.settings, watch_face_contexts[movement_state.current_face_idx]);
|
||||
|
||||
@ -675,9 +676,15 @@ void cb_mode_btn_interrupt(void) {
|
||||
void cb_alarm_btn_interrupt(void) {
|
||||
bool pin_level = watch_get_pin_level(BTN_ALARM);
|
||||
_movement_reset_inactivity_countdown();
|
||||
event.event_type = _figure_out_button_event(pin_level, EVENT_ALARM_BUTTON_DOWN, &movement_state.alarm_down_timestamp);
|
||||
uint8_t event_type = _figure_out_button_event(pin_level, EVENT_ALARM_BUTTON_DOWN, &movement_state.alarm_down_timestamp);
|
||||
if (movement_state.ignore_alarm_after_sleep){
|
||||
if (event_type == EVENT_ALARM_BUTTON_UP) movement_state.ignore_alarm_after_sleep = false;
|
||||
return;
|
||||
}
|
||||
event.event_type = event_type;
|
||||
}
|
||||
|
||||
|
||||
void cb_alarm_btn_extwake(void) {
|
||||
// wake up!
|
||||
_movement_reset_inactivity_countdown();
|
||||
|
@ -271,6 +271,7 @@ typedef struct {
|
||||
|
||||
// low energy mode countdown
|
||||
int32_t le_mode_ticks;
|
||||
bool ignore_alarm_after_sleep;
|
||||
|
||||
// app resignation countdown (TODO: consolidate with LE countdown?)
|
||||
int16_t timeout_ticks;
|
||||
|
Loading…
x
Reference in New Issue
Block a user