refactor: watch faces no longer need a pointer to settings!
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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, \
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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, \
|
||||
|
||||
Reference in New Issue
Block a user