Make low fuel color configurable

This commit is contained in:
2026-06-01 21:09:35 -04:00
parent aeeb5b0e79
commit 0e96dcfd56
5 changed files with 21 additions and 3 deletions
+7 -2
View File
@@ -54,10 +54,10 @@ static void batt_callback(BatteryChargeState state) {
s_batt_level = state.charge_percent / 5;
layer_mark_dirty(s_fuel_layer);
if (!s_low_fuel_indicator && s_batt_level <= settings.LowFuelBars) {
replace_gbitmap_color(s_applied_fg, GColorChromeYellow, s_e_icon, s_e_layer);
replace_gbitmap_color(s_applied_fg, settings.ColorLowFuel, s_e_icon, s_e_layer);
s_low_fuel_indicator = true;
} else if (s_low_fuel_indicator && s_batt_level > settings.LowFuelBars) {
replace_gbitmap_color(GColorChromeYellow, s_applied_fg, s_e_icon, s_e_layer);
replace_gbitmap_color(settings.ColorLowFuel, s_applied_fg, s_e_icon, s_e_layer);
s_low_fuel_indicator = false;
}
}
@@ -307,6 +307,7 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) {
Tuple *color_mg_bar_tuple = dict_find(iter, MESSAGE_KEY_CLAY_BAR_MG_COLOR);
Tuple *color_mg_time_tuple = dict_find(iter, MESSAGE_KEY_CLAY_TIME_MG_COLOR);
Tuple *color_fg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_FG_COLOR);
Tuple *color_low_fuel_tuple = dict_find(iter, MESSAGE_KEY_CLAY_LOW_FUEL_COLOR);
if (show_time_mg_tuple) {
settings.ShowTimeMG = show_time_mg_tuple->value->uint8;
}
@@ -328,6 +329,9 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) {
if (color_fg_tuple) {
settings.ColorFG = GColorFromHEX(color_fg_tuple->value->int32);
}
if (color_low_fuel_tuple) {
settings.ColorLowFuel = GColorFromHEX(color_low_fuel_tuple->value->int32);
}
persist_write_data(STORAGE_KEY_SETTINGS, &settings, sizeof(settings));
apply_settings(false);
}
@@ -344,6 +348,7 @@ static void init() {
settings.ColorMGBars = GColorDarkGray;
settings.ColorMGTime = GColorDarkGray;
settings.ColorFG = GColorWhite;
settings.ColorLowFuel = GColorChromeYellow;
}
// load bitmaps
+1
View File
@@ -11,6 +11,7 @@ typedef struct ClaySettings {
GColor ColorMGBars;
GColor ColorMGTime;
GColor ColorFG;
GColor ColorLowFuel;
} __attribute__((__packed__)) ClaySettings;
_Static_assert(sizeof(ClaySettings) <= 256, "ClaySettings exceeds Pebble 256-byte persist limit!");
+8
View File
@@ -123,6 +123,14 @@ module.exports = [
"defaultValue": "ffffff",
"label": "Foreground color",
"sunlight": false,
},
{
"id": "custom_color_low_fuel",
"type": "color",
"messageKey": "CLAY_LOW_FUEL_COLOR",
"defaultValue": "ffaa00",
"label": "Low fuel indicator color",
"sunlight": false,
}
]
},
+3
View File
@@ -13,6 +13,7 @@ module.exports = function (minified) {
clayConfig.getItemById('custom_color_mg_bars').set('555555');
clayConfig.getItemById('custom_color_mg_time').set('555555');
clayConfig.getItemById('custom_color_fg').set('ff0000');
clayConfig.getItemById('custom_color_low_fuel').set('ffaa00');
break
default:
clayConfig.getItemById('custom_color_led').set('ffffff');
@@ -32,6 +33,7 @@ module.exports = function (minified) {
clayConfig.getItemById('custom_color_mg_bars').show();
clayConfig.getItemById('custom_color_mg_time').show();
clayConfig.getItemById('custom_color_fg').show();
clayConfig.getItemById('custom_color_low_fuel').show();
} else {
setColorsToPreset();
clayConfig.getItemById('color_preset_selector').show();
@@ -40,6 +42,7 @@ module.exports = function (minified) {
clayConfig.getItemById('custom_color_mg_bars').hide();
clayConfig.getItemById('custom_color_mg_time').hide();
clayConfig.getItemById('custom_color_fg').hide();
clayConfig.getItemById('custom_color_low_fuel').hide();
}
}