refactor: watch faces no longer need a pointer to settings!

This commit is contained in:
joeycastillo
2024-09-29 09:59:49 -04:00
parent 3bd8f8d51f
commit e88359d1d5
201 changed files with 1180 additions and 1553 deletions

View File

@@ -37,8 +37,7 @@ const char preferences_face_titles[PREFERENCES_PAGE_NUM_PREFERENCES][11] = {
"LT blue ", // Light: blue component (for watches with blue LED)
};
void preferences_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr) {
(void) settings;
void preferences_face_setup(uint8_t watch_face_index, void ** context_ptr) {
(void) watch_face_index;
if (*context_ptr == NULL) {
*context_ptr = malloc(sizeof(preferences_state_t));
@@ -62,14 +61,13 @@ void preferences_face_setup(movement_settings_t *settings, uint8_t watch_face_in
}
}
void preferences_face_activate(movement_settings_t *settings, void *context) {
(void) settings;
void preferences_face_activate(void *context) {
preferences_state_t *state = (preferences_state_t *)context;
state->current_page = 0;
movement_request_tick_frequency(4); // we need to manually blink some pixels
}
bool preferences_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
bool preferences_face_loop(movement_event_t event, void *context) {
preferences_state_t *state = (preferences_state_t *)context;
movement_color_t color; // to use in the switch if we need it
@@ -225,7 +223,7 @@ bool preferences_face_loop(movement_event_t event, movement_settings_t *settings
movement_move_to_face(0);
break;
default:
return movement_default_loop_handler(event, settings);
return movement_default_loop_handler(event);
}
if (state->current_page == PREFERENCES_PAGE_LED_RED ||
@@ -243,8 +241,7 @@ bool preferences_face_loop(movement_event_t event, movement_settings_t *settings
}
}
void preferences_face_resign(movement_settings_t *settings, void *context) {
(void) settings;
void preferences_face_resign(void *context) {
(void) context;
movement_force_led_off();
movement_store_settings();

View File

@@ -99,10 +99,10 @@ typedef struct {
preferences_page_t current_page;
} preferences_state_t;
void preferences_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);
void preferences_face_activate(movement_settings_t *settings, void *context);
bool preferences_face_loop(movement_event_t event, movement_settings_t *settings, void *context);
void preferences_face_resign(movement_settings_t *settings, void *context);
void preferences_face_setup(uint8_t watch_face_index, void ** context_ptr);
void preferences_face_activate(void *context);
bool preferences_face_loop(movement_event_t event, void *context);
void preferences_face_resign(void *context);
#define preferences_face ((const watch_face_t){ \
preferences_face_setup, \

View File

@@ -34,7 +34,7 @@ const char set_time_face_titles[SET_TIME_FACE_NUM_SETTINGS][3] = {"HR", "M1", "S
static bool _quick_ticks_running;
static void _handle_alarm_button(movement_settings_t *settings, watch_date_time date_time, uint8_t current_page) {
static void _handle_alarm_button(watch_date_time date_time, uint8_t current_page) {
// handles short or long pressing of the alarm button
switch (current_page) {
@@ -74,27 +74,25 @@ static void _abort_quick_ticks() {
}
}
void set_time_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr) {
(void) settings;
void set_time_face_setup(uint8_t watch_face_index, void ** context_ptr) {
(void) watch_face_index;
if (*context_ptr == NULL) *context_ptr = malloc(sizeof(uint8_t));
}
void set_time_face_activate(movement_settings_t *settings, void *context) {
(void) settings;
void set_time_face_activate(void *context) {
*((uint8_t *)context) = 0;
movement_request_tick_frequency(4);
_quick_ticks_running = false;
}
bool set_time_face_loop(movement_event_t event, movement_settings_t *settings, void *context) {
bool set_time_face_loop(movement_event_t event, void *context) {
uint8_t current_page = *((uint8_t *)context);
watch_date_time date_time = watch_rtc_get_date_time();
switch (event.event_type) {
case EVENT_TICK:
if (_quick_ticks_running) {
if (HAL_GPIO_BTN_ALARM_read()) _handle_alarm_button(settings, date_time, current_page);
if (HAL_GPIO_BTN_ALARM_read()) _handle_alarm_button(date_time, current_page);
else _abort_quick_ticks();
}
break;
@@ -117,14 +115,14 @@ bool set_time_face_loop(movement_event_t event, movement_settings_t *settings, v
break;
case EVENT_ALARM_BUTTON_UP:
_abort_quick_ticks();
_handle_alarm_button(settings, date_time, current_page);
_handle_alarm_button(date_time, current_page);
break;
case EVENT_TIMEOUT:
_abort_quick_ticks();
movement_move_to_face(0);
break;
default:
return movement_default_loop_handler(event, settings);
return movement_default_loop_handler(event);
}
char buf[11];
@@ -178,8 +176,7 @@ bool set_time_face_loop(movement_event_t event, movement_settings_t *settings, v
return true;
}
void set_time_face_resign(movement_settings_t *settings, void *context) {
(void) settings;
void set_time_face_resign(void *context) {
(void) context;
watch_set_led_off();
movement_store_settings();

View File

@@ -44,10 +44,10 @@
#include "movement.h"
void set_time_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);
void set_time_face_activate(movement_settings_t *settings, void *context);
bool set_time_face_loop(movement_event_t event, movement_settings_t *settings, void *context);
void set_time_face_resign(movement_settings_t *settings, void *context);
void set_time_face_setup(uint8_t watch_face_index, void ** context_ptr);
void set_time_face_activate(void *context);
bool set_time_face_loop(movement_event_t event, void *context);
void set_time_face_resign(void *context);
#define set_time_face ((const watch_face_t){ \
set_time_face_setup, \