From e4e0b611f33fc99d410fb5049302aafce9ff7a6c Mon Sep 17 00:00:00 2001 From: Matheus Afonso Martins Moreira Date: Sun, 8 Sep 2024 18:49:09 -0300 Subject: [PATCH] faces/tally: avoid resetting counters Don't reset the counters unless there are multiple presets. Move back to the first face directly if there are no presets to cycle through. --- movement/watch_faces/complication/tally_face.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/movement/watch_faces/complication/tally_face.c b/movement/watch_faces/complication/tally_face.c index 4da36cb2a..b2c553f58 100644 --- a/movement/watch_faces/complication/tally_face.c +++ b/movement/watch_faces/complication/tally_face.c @@ -105,10 +105,15 @@ static void tally_face_decrement(tally_state_t *state, bool sound_on) { } } +static bool tally_face_should_move_back(tally_state_t *state) { + if (_tally_default_size <= 1) { return false; } + return state->tally_idx == _tally_default[state->tally_default_idx]; +} + bool tally_face_loop(movement_event_t event, movement_settings_t *settings, void *context) { tally_state_t *state = (tally_state_t *)context; static bool using_led = false; - + if (using_led) { if(!watch_get_pin_level(BTN_MODE) && !watch_get_pin_level(BTN_LIGHT) && !watch_get_pin_level(BTN_ALARM)) using_led = false; @@ -118,7 +123,7 @@ bool tally_face_loop(movement_event_t event, movement_settings_t *settings, void return true; } } - + switch (event.event_type) { case EVENT_TICK: if (_quick_ticks_running) { @@ -138,7 +143,7 @@ bool tally_face_loop(movement_event_t event, movement_settings_t *settings, void start_quick_cyc(); break; case EVENT_MODE_LONG_PRESS: - if (state->tally_idx == _tally_default[state->tally_default_idx]) { + if (tally_face_should_move_back(state)) { _init_val = true; movement_move_to_face(0); }