Home | History | Annotate | Download | only in healthd

Lines Matching refs:charger

76 #define LOGE(x...) do { KLOG_ERROR("charger", x); } while (0)
77 #define LOGW(x...) do { KLOG_WARNING("charger", x); } while (0)
78 #define LOGV(x...) do { KLOG_DEBUG("charger", x); } while (0)
108 struct charger {
171 static struct charger charger_state;
277 static int draw_surface_centered(struct charger* /*charger*/, GRSurface* surface)
294 static void draw_unknown(struct charger *charger)
297 if (charger->surf_unknown) {
298 draw_surface_centered(charger, charger->surf_unknown);
306 static void draw_battery(struct charger *charger)
308 struct animation *batt_anim = charger->batt_anim;
312 draw_surface_centered(charger, frame->surface);
319 static void redraw_screen(struct charger *charger)
321 struct animation *batt_anim = charger->batt_anim;
327 draw_unknown(charger);
329 draw_battery(charger);
345 static void update_screen_state(struct charger *charger, int64_t now)
347 struct animation *batt_anim = charger->batt_anim;
350 if (!batt_anim->run || now < charger->next_screen_transition)
359 charger->next_screen_transition = -1;
360 if (charger->charger_connected)
378 charger->next_screen_transition = -1;
381 if (charger->charger_connected)
414 redraw_screen(charger);
421 charger->next_screen_transition = now + BATTERY_UNKNOWN_TIME;
427 charger->next_screen_transition = now + disp_time;
432 if (charger->charger_connected) {
461 struct charger *charger = (struct charger *)data;
469 if (charger->keys[code].down == down)
475 charger->keys[code].timestamp = now;
476 charger->keys[code].down = down;
477 charger->keys[code].pending = true;
481 int64_t duration = now - charger->keys[code].timestamp;
491 static void update_input_state(struct charger *charger,
496 set_key_callback(ev->code, ev->value, charger);
499 static void set_next_key_check(struct charger *charger,
505 if (charger->next_key_check == -1 || then < charger->next_key_check)
506 charger->next_key_check = then;
509 static void process_key(struct charger *charger, int code, int64_t now)
511 struct key_state *key = &charger->keys[code];
517 /* We do not currently support booting from charger mode on
521 LOGW("[%" PRId64 "] booting from charger mode\n", now);
524 if (charger->batt_anim->capacity >= charger->boot_min_cap) {
536 set_next_key_check(charger, key, POWER_ON_KEY_TIME);
541 kick_animation(charger->batt_anim);
547 kick_animation(charger->batt_anim);
555 static void handle_input_state(struct charger *charger, int64_t now)
557 process_key(charger, KEY_POWER, now);
559 if (charger->next_key_check != -1 && now > charger->next_key_check)
560 charger->next_key_check = -1;
563 static void handle_power_supply_state(struct charger *charger, int64_t now)
565 if (!charger->have_battery_state)
568 if (!charger->charger_connected) {
573 kick_animation(charger->batt_anim);
575 if (charger->next_pwr_check == -1) {
576 charger->next_pwr_check = now + UNPLUGGED_SHUTDOWN_TIME;
578 now, (int64_t)UNPLUGGED_SHUTDOWN_TIME, charger->next_pwr_check);
579 } else if (now >= charger->next_pwr_check) {
587 if (charger->next_pwr_check != -1) {
589 kick_animation(charger->batt_anim);
591 charger->next_pwr_check = -1;
597 struct charger *charger = &charger_state;
600 handle_input_state(charger, now);
601 handle_power_supply_state(charger, now);
606 update_screen_state(charger, now);
612 struct charger *charger = &charger_state;
614 charger->charger_connected =
618 if (!charger->have_battery_state) {
619 charger->have_battery_state = true;
620 charger->next_screen_transition = curr_time_ms() - 1;
621 reset_animation(charger->batt_anim);
622 kick_animation(charger->batt_anim);
629 struct charger *charger = &charger_state;
635 charger->next_screen_transition, charger->next_key_check,
636 charger->next_pwr_check);
638 if (charger->next_screen_transition != -1)
639 next_event = charger->next_screen_transition;
640 if (charger->next_key_check != -1 && charger->next_key_check < next_event)
641 next_event = charger->next_key_check;
642 if (charger->next_pwr_check != -1 && charger->next_pwr_check < next_event)
643 next_event = charger->next_pwr_check;
655 struct charger *charger = (struct charger *)data;
662 update_input_state(charger, &ev);
678 struct charger *charger = &charger_state;
684 LOGW("--------------- STARTING CHARGER MODE ---------------\n");
686 ret = ev_init(input_callback, charger);
692 ret = res_create_display_surface("charger/battery_fail", &charger->surf_unknown);
695 charger->surf_unknown = NULL;
698 charger->batt_anim = &battery_animation;
702 ret = res_create_multi_display_surface("charger/battery_scale", &scale_count, &scale_frames);
705 charger->batt_anim->num_frames = 0;
706 charger->batt_anim->num_cycles = 1;
707 } else if (scale_count != charger->batt_anim->num_frames) {
709 scale_count, charger->batt_anim->num_frames);
710 charger->batt_anim->num_frames = 0;
711 charger->batt_anim->num_cycles = 1;
713 for (i = 0; i < charger->batt_anim->num_frames; i++) {
714 charger->batt_anim->frames[i].surface = scale_frames[i];
718 ev_sync_key_state(set_key_callback, charger);
720 charger->next_screen_transition = -1;
721 charger->next_key_check = -1;
722 charger->next_pwr_check = -1;
724 charger->boot_min_cap = config->boot_min_cap;