Allow desktop clock with no battery icon

This commit is contained in:
Willy-JL
2023-06-05 01:08:55 +01:00
parent 1e299c1b74
commit f01b68e1e0
5 changed files with 73 additions and 64 deletions

View File

@@ -20,6 +20,8 @@ static void xtreme_app_scene_interface_statusbar_battery_icon_changed(VariableIt
variable_item_set_current_value_text(item, battery_icon_names[index]); variable_item_set_current_value_text(item, battery_icon_names[index]);
XTREME_SETTINGS()->battery_icon = index; XTREME_SETTINGS()->battery_icon = index;
app->save_settings = true; app->save_settings = true;
power_set_battery_icon_enabled(furi_record_open(RECORD_POWER), index != BatteryIconOff);
furi_record_close(RECORD_POWER);
} }
static void xtreme_app_scene_interface_statusbar_status_icons_changed(VariableItem* item) { static void xtreme_app_scene_interface_statusbar_status_icons_changed(VariableItem* item) {

View File

@@ -100,11 +100,8 @@ static void gui_redraw_status_bar(Gui* gui, bool need_attention) {
} }
canvas_set_bitmap_mode(gui->canvas, 0); canvas_set_bitmap_mode(gui->canvas, 0);
uint8_t x;
// Right side // Right side
if(xtreme_settings->battery_icon != BatteryIconOff) { uint8_t x = GUI_DISPLAY_WIDTH - 1;
x = GUI_DISPLAY_WIDTH - 1;
ViewPortArray_it(it, gui->layers[GuiLayerStatusBarRight]); ViewPortArray_it(it, gui->layers[GuiLayerStatusBarRight]);
while(!ViewPortArray_end_p(it) && right_used < GUI_STATUS_BAR_WIDTH) { while(!ViewPortArray_end_p(it) && right_used < GUI_STATUS_BAR_WIDTH) {
ViewPort* view_port = *ViewPortArray_ref(it); ViewPort* view_port = *ViewPortArray_ref(it);
@@ -125,11 +122,7 @@ static void gui_redraw_status_bar(Gui* gui, bool need_attention) {
if(xtreme_settings->bar_borders) { if(xtreme_settings->bar_borders) {
canvas_set_color(gui->canvas, ColorWhite); canvas_set_color(gui->canvas, ColorWhite);
canvas_draw_box( canvas_draw_box(
gui->canvas, gui->canvas, -1, 0, canvas_width(gui->canvas) + 1, canvas_height(gui->canvas));
-1,
0,
canvas_width(gui->canvas) + 1,
canvas_height(gui->canvas));
} }
canvas_set_color(gui->canvas, ColorBlack); canvas_set_color(gui->canvas, ColorBlack);
// ViewPort draw // ViewPort draw
@@ -170,7 +163,6 @@ static void gui_redraw_status_bar(Gui* gui, bool need_attention) {
canvas_height(gui->canvas) - 2); canvas_height(gui->canvas) - 2);
} }
} }
}
// Left side // Left side
if(xtreme_settings->status_icons) { if(xtreme_settings->status_icons) {

View File

@@ -7,6 +7,12 @@
#define POWER_OFF_TIMEOUT 90 #define POWER_OFF_TIMEOUT 90
#define TAG "Power" #define TAG "Power"
void power_set_battery_icon_enabled(Power* power, bool is_enabled) {
furi_assert(power);
view_port_enabled_set(power->battery_view_port, is_enabled);
}
void power_draw_battery_callback(Canvas* canvas, void* context) { void power_draw_battery_callback(Canvas* canvas, void* context) {
furi_assert(context); furi_assert(context);
Power* power = context; Power* power = context;
@@ -356,6 +362,7 @@ Power* power_alloc() {
// Battery view port // Battery view port
power->battery_view_port = power_battery_view_port_alloc(power); power->battery_view_port = power_battery_view_port_alloc(power);
power_set_battery_icon_enabled(power, XTREME_SETTINGS()->battery_icon != BatteryIconOff);
power->show_low_bat_level_message = true; power->show_low_bat_level_message = true;
//Auto shutdown timer //Auto shutdown timer

View File

@@ -120,6 +120,13 @@ void power_enable_low_battery_level_notification(Power* power, bool enable);
*/ */
void power_trigger_ui_update(Power* power); void power_trigger_ui_update(Power* power);
/** Enable or disable battery icon
*
* @param power Power instance
* @param is_enabled Show battery or not
*/
void power_set_battery_icon_enabled(Power* power, bool is_enabled);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@@ -2276,6 +2276,7 @@ Function,+,power_get_settings_events_pubsub,FuriPubSub*,Power*
Function,+,power_is_battery_healthy,_Bool,Power* Function,+,power_is_battery_healthy,_Bool,Power*
Function,+,power_off,void,Power* Function,+,power_off,void,Power*
Function,+,power_reboot,void,PowerBootMode Function,+,power_reboot,void,PowerBootMode
Function,+,power_set_battery_icon_enabled,void,"Power*, _Bool"
Function,-,power_trigger_ui_update,void,Power* Function,-,power_trigger_ui_update,void,Power*
Function,+,powf,float,"float, float" Function,+,powf,float,"float, float"
Function,-,powl,long double,"long double, long double" Function,-,powl,long double,"long double, long double"
1 entry status name type params
2276 Function + power_is_battery_healthy _Bool Power*
2277 Function + power_off void Power*
2278 Function + power_reboot void PowerBootMode
2279 Function + power_set_battery_icon_enabled void Power*, _Bool
2280 Function - power_trigger_ui_update void Power*
2281 Function + powf float float, float
2282 Function - powl long double long double, long double