Просмотр исходного кода

Charging icon update fix (#1733)

* Power: refresh battery indicator on charger plug/unplug

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
Nikolay Minaylov 3 лет назад
Родитель
Сommit
a6052be0f1

+ 2 - 0
applications/services/power/power_service/power.c

@@ -127,6 +127,7 @@ static void power_check_charging_state(Power* power) {
 static bool power_update_info(Power* power) {
     PowerInfo info;
 
+    info.is_charging = furi_hal_power_is_charging();
     info.gauge_is_ok = furi_hal_power_gauge_is_ok();
     info.charge = furi_hal_power_get_pct();
     info.health = furi_hal_power_get_bat_health_pct();
@@ -142,6 +143,7 @@ static bool power_update_info(Power* power) {
 
     furi_mutex_acquire(power->api_mtx, FuriWaitForever);
     bool need_refresh = power->info.charge != info.charge;
+    need_refresh |= power->info.is_charging != info.is_charging;
     power->info = info;
     furi_mutex_release(power->api_mtx);
 

+ 1 - 0
applications/services/power/power_service/power.h

@@ -36,6 +36,7 @@ typedef struct {
 
 typedef struct {
     bool gauge_is_ok;
+    bool is_charging;
 
     float current_charger;
     float current_gauge;