refactor movement's alarm_enabled bit to a function call

This commit is contained in:
joeycastillo 2024-09-29 08:16:53 -04:00
parent 0bec3c22c4
commit 71922f8e51
10 changed files with 29 additions and 15 deletions

View File

@ -353,6 +353,14 @@ void movement_set_use_imperial_units(bool value) {
movement_state.settings.bit.use_imperial_units = value;
}
bool movement_alarm_enabled(void) {
return movement_state.settings.bit.alarm_enabled;
}
void movement_set_alarm_enabled(bool value) {
movement_state.settings.bit.alarm_enabled = value;
}
void app_init(void) {
_watch_init();

View File

@ -333,3 +333,9 @@ void movement_set_clock_mode_24h(movement_clock_mode_t value);
bool movement_use_imperial_units(void);
void movement_set_use_imperial_units(bool value);
/// TODO: For #SecondMovement: Should we have a counter that watch faces increment when they enable an alarm, and decrement when they disable it?
/// Or should there be a watch face function where watch faces can tell us if they have an alarm enabled?
/// Worth considering a better way to handle this.
bool movement_alarm_enabled(void);
void movement_set_alarm_enabled(bool value);

View File

@ -69,7 +69,7 @@ static void clock_indicate(watch_indicator_t indicator, bool on) {
}
static void clock_indicate_alarm(movement_settings_t *settings) {
clock_indicate(WATCH_INDICATOR_SIGNAL, settings->bit.alarm_enabled);
clock_indicate(WATCH_INDICATOR_SIGNAL, movement_alarm_enabled());
}
static void clock_indicate_time_signal(clock_state_t *clock) {

View File

@ -82,7 +82,7 @@ void close_enough_clock_face_activate(movement_settings_t *settings, void *conte
}
// show alarm indicator if there is an active alarm
_update_alarm_indicator(settings->bit.alarm_enabled, state);
_update_alarm_indicator(movement_alarm_enabled(), state);
// this ensures that none of the five_minute_periods will match, so we always rerender when the face activates
state->prev_five_minute_period = -1;
@ -214,8 +214,8 @@ bool close_enough_clock_face_loop(movement_event_t event, movement_settings_t *s
state->prev_five_minute_period = five_minute_period;
// handle alarm indicator
if (state->alarm_enabled != settings->bit.alarm_enabled) {
_update_alarm_indicator(settings->bit.alarm_enabled, state);
if (state->alarm_enabled != movement_alarm_enabled()) {
_update_alarm_indicator(movement_alarm_enabled(), state);
}
break;

View File

@ -90,7 +90,7 @@ void minute_repeater_decimal_face_activate(movement_settings_t *settings, void *
else watch_clear_indicator(WATCH_INDICATOR_BELL);
// show alarm indicator if there is an active alarm
_update_alarm_indicator(settings->bit.alarm_enabled, state);
_update_alarm_indicator(movement_alarm_enabled(), state);
watch_set_colon();
@ -158,7 +158,7 @@ bool minute_repeater_decimal_face_loop(movement_event_t event, movement_settings
}
watch_display_string(buf, pos);
// handle alarm indicator
if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
break;
case EVENT_ALARM_LONG_PRESS:
state->signal_enabled = !state->signal_enabled;

View File

@ -75,7 +75,7 @@ void repetition_minute_face_activate(movement_settings_t *settings, void *contex
else watch_clear_indicator(WATCH_INDICATOR_BELL);
// show alarm indicator if there is an active alarm
_update_alarm_indicator(settings->bit.alarm_enabled, state);
_update_alarm_indicator(movement_alarm_enabled(), state);
watch_set_colon();
@ -143,7 +143,7 @@ bool repetition_minute_face_loop(movement_event_t event, movement_settings_t *se
}
watch_display_string(buf, pos);
// handle alarm indicator
if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
break;
case EVENT_ALARM_LONG_PRESS:
state->signal_enabled = !state->signal_enabled;

View File

@ -67,7 +67,7 @@ void simple_clock_bin_led_face_activate(movement_settings_t *settings, void *con
else watch_clear_indicator(WATCH_INDICATOR_BELL);
// show alarm indicator if there is an active alarm
_update_alarm_indicator(settings->bit.alarm_enabled, state);
_update_alarm_indicator(movement_alarm_enabled(), state);
watch_set_colon();
@ -169,7 +169,7 @@ bool simple_clock_bin_led_face_loop(movement_event_t event, movement_settings_t
}
watch_display_string(buf, pos);
// handle alarm indicator
if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
}
break;
case EVENT_ALARM_LONG_PRESS:

View File

@ -57,7 +57,7 @@ void weeknumber_clock_face_activate(movement_settings_t *settings, void *context
else watch_clear_indicator(WATCH_INDICATOR_BELL);
// show alarm indicator if there is an active alarm
_update_alarm_indicator(settings->bit.alarm_enabled, state);
_update_alarm_indicator(movement_alarm_enabled(), state);
watch_set_colon();
@ -120,7 +120,7 @@ bool weeknumber_clock_face_loop(movement_event_t event, movement_settings_t *set
}
watch_display_string(buf, pos);
// handle alarm indicator
if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
break;
case EVENT_ALARM_LONG_PRESS:
state->signal_enabled = !state->signal_enabled;

View File

@ -169,7 +169,7 @@ static void _alarm_update_alarm_enabled(movement_settings_t *settings, alarm_sta
}
}
}
settings->bit.alarm_enabled = active_alarms;
movement_set_alarm_enabled(active_alarms);
}
static void _alarm_play_short_beep(uint8_t pitch_idx) {

View File

@ -58,7 +58,7 @@ void simple_clock_face_activate(movement_settings_t *settings, void *context) {
else watch_clear_indicator(WATCH_INDICATOR_BELL);
// show alarm indicator if there is an active alarm
_update_alarm_indicator(settings->bit.alarm_enabled, state);
_update_alarm_indicator(movement_alarm_enabled(), state);
watch_set_colon();
@ -130,7 +130,7 @@ bool simple_clock_face_loop(movement_event_t event, movement_settings_t *setting
}
// handle alarm indicator
if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
break;
case EVENT_ALARM_LONG_PRESS:
state->signal_enabled = !state->signal_enabled;