diff options
Diffstat (limited to '')
-rw-r--r-- | src/battery.c | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/battery.c b/src/battery.c index 1fd9584..24790b2 100644 --- a/src/battery.c +++ b/src/battery.c @@ -4,31 +4,20 @@ static Window *window; static TextLayer *battery_percentage; static TextLayer *charge_status; -static BatteryChargeState chargeState; static char percent_show[5]; static void battery_state_receiver(BatteryChargeState chargeState){ - uint8_t percent = chargeState.charge_percent; snprintf(percent_show, 5, "%i%%", percent); - - APP_LOG(APP_LOG_LEVEL_DEBUG, "percent: %s", percent_show); text_layer_set_text(battery_percentage, percent_show); - if(chargeState.is_charging){ + if(chargeState.is_plugged && chargeState.is_charging) text_layer_set_text(charge_status, "Charging"); - APP_LOG(APP_LOG_LEVEL_DEBUG, "charge state: charging"); - } - else{ + else if(chargeState.is_plugged && !chargeState.is_charging) + text_layer_set_text(charge_status, "Plugged - Not Charging"); + else if(!chargeState.is_plugged && !chargeState.is_charging) text_layer_set_text(charge_status, "Discharging"); - APP_LOG(APP_LOG_LEVEL_DEBUG, "charge state: discharging"); - } - - if(chargeState.is_plugged) - APP_LOG(APP_LOG_LEVEL_DEBUG, "charge state: plugged"); - else - APP_LOG(APP_LOG_LEVEL_DEBUG, "charge state: unplugged"); } static void window_load(Window *window) { @@ -41,8 +30,8 @@ static void window_load(Window *window) { charge_status = text_layer_create((GRect) { .origin = { 0, 82 }, .size = { bounds.size.w, 20 } }); text_layer_set_text_alignment(charge_status, GTextAlignmentCenter); - chargeState = battery_state_service_peek(); - battery_state_receiver(chargeState); + // make a peek to start + battery_state_receiver(battery_state_service_peek()); layer_add_child(window_layer, text_layer_get_layer(battery_percentage)); layer_add_child(window_layer, text_layer_get_layer(charge_status)); @@ -50,6 +39,7 @@ static void window_load(Window *window) { static void window_unload(Window *window) { text_layer_destroy(battery_percentage); + text_layer_destroy(charge_status); } static void init(void) { |