diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 97111a1a7c..91fb2905dd 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -8654,7 +8654,7 @@
*: none
- charging: "Charging"
+ charging: "Battery: Charging"
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c
index 0a86d1f514..ddc2689263 100644
--- a/apps/menus/main_menu.c
+++ b/apps/menus/main_menu.c
@@ -204,7 +204,11 @@ static char* info_getname(int selected_item, void *data, char *buffer)
}
break;
case INFO_BATTERY: /* battery */
-#if CONFIG_CHARGING == CHARGING_CONTROL
+#if CONFIG_CHARGING == CHARGING_SIMPLE
+ if (charger_input_state == CHARGER)
+ snprintf(buffer, MAX_PATH, (char *)str(LANG_BATTERY_CHARGE));
+ else
+#elif CONFIG_CHARGING >= CHARGING_MONITOR
if (charge_state == CHARGING)
snprintf(buffer, MAX_PATH, (char *)str(LANG_BATTERY_CHARGE));
else if (charge_state == TOPOFF)
@@ -284,25 +288,26 @@ static int info_speak_item(int selected_item, void * data)
break;
}
case INFO_BATTERY: /* battery */
+#if CONFIG_CHARGING == CHARGING_SIMPLE
+ if (charger_input_state == CHARGER)
+ talk_id(LANG_BATTERY_CHARGE, true);
+ else
+#elif CONFIG_CHARGING >= CHARGING_MONITOR
+ if (charge_state == CHARGING)
+ talk_id(LANG_BATTERY_CHARGE, true);
+ else if (charge_state == TOPOFF)
+ talk_id(LANG_BATTERY_TOPOFF_CHARGE, true);
+ else if (charge_state == TRICKLE)
+ talk_id(LANG_BATTERY_TRICKLE_CHARGE, true);
+ else
+#endif
if (battery_level() >= 0)
{
talk_id(LANG_BATTERY_TIME, false);
talk_value(battery_level(), UNIT_PERCENT, true);
- if(battery_time () / 60 > 0)
- talk_value(battery_time () / 60, UNIT_INT, true);
- if(battery_time () % 60 > 0)
- talk_value(battery_time () % 60, UNIT_INT, true);
-#if CONFIG_CHARGING >= CHARGING_MONITOR
- if (charge_state == CHARGING)
- talk_id(LANG_BATTERY_CHARGE, true);
-#if CONFIG_CHARGING == CHARGING_CONTROL
- else if (charge_state == TOPOFF)
- talk_id(LANG_BATTERY_TOPOFF_CHARGE, true);
-#endif
- else if (charge_state == TRICKLE)
- talk_id(LANG_BATTERY_TRICKLE_CHARGE, true);
-#endif
+ talk_value(battery_time() *60, UNIT_TIME, true);
}
+ else talk_id(VOICE_BLANK, false);
break;
case INFO_DISK1: /* disk 1 */
#ifdef HAVE_MULTIVOLUME