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();
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);
}
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) {
}
// 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;
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;
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();
}
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;
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();
}
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;
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();
}
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:
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();
}
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;
}
}
}
- settings->bit.alarm_enabled = active_alarms;
+ movement_set_alarm_enabled(active_alarms);
}
static void _alarm_play_short_beep(uint8_t pitch_idx) {
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();
}
// 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;