diff --git a/applications/services/power/power_service/power.h b/applications/services/power/power_service/power.h index 1752643d1..6e41d5c6e 100644 --- a/applications/services/power/power_service/power.h +++ b/applications/services/power/power_service/power.h @@ -26,14 +26,14 @@ typedef enum { } PowerEventType; typedef enum { - BatteryIconOff, - BatteryIconBar, - BatteryIconPercent, - BatteryIconInvertedPercent, - BatteryIconRetro3, - BatteryIconRetro5, - BatteryIconBarPercent, - BatteryIconCount, + BatteryIconOff = 1, + BatteryIconBar = 2, + BatteryIconPercent = 3, + BatteryIconInvertedPercent = 4, + BatteryIconRetro3 = 5, + BatteryIconRetro5 = 6, + BatteryIconBarPercent = 0, + BatteryIconCount = 7, } BatteryIcon; typedef union { diff --git a/applications/settings/xtreme_app/scenes/xtreme_app_scene_main.c b/applications/settings/xtreme_app/scenes/xtreme_app_scene_main.c index c1c03672a..e36c988d0 100644 --- a/applications/settings/xtreme_app/scenes/xtreme_app_scene_main.c +++ b/applications/settings/xtreme_app/scenes/xtreme_app_scene_main.c @@ -66,7 +66,7 @@ static void xtreme_app_scene_main_battery_icon_changed(VariableItem* item) { XtremeApp* app = variable_item_get_context(item); uint8_t index = variable_item_get_current_value_index(item); variable_item_set_current_value_text(item, battery_icon_names[index]); - XTREME_SETTINGS()->battery_icon = index; + XTREME_SETTINGS()->battery_icon = (index + 1) % BatteryIconCount; app->settings_changed = true; } @@ -211,7 +211,8 @@ void xtreme_app_scene_main_on_enter(void* context) { BatteryIconCount, xtreme_app_scene_main_battery_icon_changed, app); - value_index = xtreme_settings->battery_icon; + value_index = (xtreme_settings->battery_icon + BatteryIconCount - 1) % BatteryIconCount; + variable_item_set_current_value_index(item, value_index); variable_item_set_current_value_text(item, battery_icon_names[value_index]); item = variable_item_list_add(