diff options
-rw-r--r-- | healthd/Android.mk | 2 | ||||
-rw-r--r-- | healthd/healthd_mode_charger.cpp | 42 | ||||
-rw-r--r-- | healthd/images/battery_0.png | bin | 1295 -> 0 bytes | |||
-rw-r--r-- | healthd/images/battery_1.png | bin | 1290 -> 0 bytes | |||
-rw-r--r-- | healthd/images/battery_2.png | bin | 1289 -> 0 bytes | |||
-rw-r--r-- | healthd/images/battery_3.png | bin | 1291 -> 0 bytes | |||
-rw-r--r-- | healthd/images/battery_4.png | bin | 1288 -> 0 bytes | |||
-rw-r--r-- | healthd/images/battery_5.png | bin | 1267 -> 0 bytes | |||
-rw-r--r-- | healthd/images/battery_charge.png | bin | 2475 -> 0 bytes | |||
-rw-r--r-- | healthd/images/battery_fail.png | bin | 1805 -> 1368 bytes | |||
-rw-r--r-- | healthd/images/battery_scale.png | bin | 0 -> 463 bytes |
11 files changed, 21 insertions, 23 deletions
diff --git a/healthd/Android.mk b/healthd/Android.mk index 5cd5ce1..715c2ed 100644 --- a/healthd/Android.mk +++ b/healthd/Android.mk @@ -36,7 +36,7 @@ endif LOCAL_C_INCLUDES := bootable/recovery -LOCAL_STATIC_LIBRARIES := libbatteryservice libbinder libminui libpixelflinger_static libpng libz libutils libstdc++ libcutils liblog libm libc +LOCAL_STATIC_LIBRARIES := libbatteryservice libbinder libminui libpng libz libutils libstdc++ libcutils liblog libm libc ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true) LOCAL_STATIC_LIBRARIES += libsuspend diff --git a/healthd/healthd_mode_charger.cpp b/healthd/healthd_mode_charger.cpp index 33a179b..fc3ac67 100644 --- a/healthd/healthd_mode_charger.cpp +++ b/healthd/healthd_mode_charger.cpp @@ -81,7 +81,6 @@ struct key_state { }; struct frame { - const char *name; int disp_time; int min_capacity; bool level_only; @@ -119,42 +118,36 @@ struct charger { static struct frame batt_anim_frames[] = { { - .name = "charger/battery_0", .disp_time = 750, .min_capacity = 0, .level_only = false, .surface = NULL, }, { - .name = "charger/battery_1", .disp_time = 750, .min_capacity = 20, .level_only = false, .surface = NULL, }, { - .name = "charger/battery_2", .disp_time = 750, .min_capacity = 40, .level_only = false, .surface = NULL, }, { - .name = "charger/battery_3", .disp_time = 750, .min_capacity = 60, .level_only = false, .surface = NULL, }, { - .name = "charger/battery_4", .disp_time = 750, .min_capacity = 80, .level_only = true, .surface = NULL, }, { - .name = "charger/battery_5", .disp_time = 750, .min_capacity = BATTERY_FULL_THRESH, .level_only = false, @@ -188,8 +181,8 @@ static int64_t curr_time_ms(void) static void clear_screen(void) { gr_color(0, 0, 0, 255); - gr_fill(0, 0, gr_fb_width(), gr_fb_height()); -}; + gr_clear(); +} #define MAX_KLOG_WRITE_BUF_SZ 256 @@ -317,8 +310,8 @@ static void draw_battery(struct charger *charger) if (batt_anim->num_frames != 0) { draw_surface_centered(charger, frame->surface); - LOGV("drawing frame #%d name=%s min_cap=%d time=%d\n", - batt_anim->cur_frame, frame->name, frame->min_capacity, + LOGV("drawing frame #%d min_cap=%d time=%d\n", + batt_anim->cur_frame, frame->min_capacity, frame->disp_time); } } @@ -655,22 +648,27 @@ void healthd_mode_charger_init(struct healthd_config *config) ret = res_create_surface("charger/battery_fail", &charger->surf_unknown); if (ret < 0) { - LOGE("Cannot load image\n"); + LOGE("Cannot load battery_fail image\n"); charger->surf_unknown = NULL; } charger->batt_anim = &battery_animation; - for (i = 0; i < charger->batt_anim->num_frames; i++) { - struct frame *frame = &charger->batt_anim->frames[i]; - - ret = res_create_surface(frame->name, &frame->surface); - if (ret < 0) { - LOGE("Cannot load image %s\n", frame->name); - /* TODO: free the already allocated surfaces... */ - charger->batt_anim->num_frames = 0; - charger->batt_anim->num_cycles = 1; - break; + gr_surface* scale_frames; + int scale_count; + ret = res_create_multi_surface("charger/battery_scale", &scale_count, &scale_frames); + if (ret < 0) { + LOGE("Cannot load battery_scale image\n"); + charger->batt_anim->num_frames = 0; + charger->batt_anim->num_cycles = 1; + } else if (scale_count != charger->batt_anim->num_frames) { + LOGE("battery_scale image has unexpected frame count (%d, expected %d)\n", + scale_count, charger->batt_anim->num_frames); + charger->batt_anim->num_frames = 0; + charger->batt_anim->num_cycles = 1; + } else { + for (i = 0; i < charger->batt_anim->num_frames; i++) { + charger->batt_anim->frames[i].surface = scale_frames[i]; } } diff --git a/healthd/images/battery_0.png b/healthd/images/battery_0.png Binary files differdeleted file mode 100644 index 2347074..0000000 --- a/healthd/images/battery_0.png +++ /dev/null diff --git a/healthd/images/battery_1.png b/healthd/images/battery_1.png Binary files differdeleted file mode 100644 index cd34620..0000000 --- a/healthd/images/battery_1.png +++ /dev/null diff --git a/healthd/images/battery_2.png b/healthd/images/battery_2.png Binary files differdeleted file mode 100644 index 3e4095e..0000000 --- a/healthd/images/battery_2.png +++ /dev/null diff --git a/healthd/images/battery_3.png b/healthd/images/battery_3.png Binary files differdeleted file mode 100644 index 08c1551..0000000 --- a/healthd/images/battery_3.png +++ /dev/null diff --git a/healthd/images/battery_4.png b/healthd/images/battery_4.png Binary files differdeleted file mode 100644 index 3a678da..0000000 --- a/healthd/images/battery_4.png +++ /dev/null diff --git a/healthd/images/battery_5.png b/healthd/images/battery_5.png Binary files differdeleted file mode 100644 index d8dc40e..0000000 --- a/healthd/images/battery_5.png +++ /dev/null diff --git a/healthd/images/battery_charge.png b/healthd/images/battery_charge.png Binary files differdeleted file mode 100644 index b501933..0000000 --- a/healthd/images/battery_charge.png +++ /dev/null diff --git a/healthd/images/battery_fail.png b/healthd/images/battery_fail.png Binary files differindex 36fc254..aded88a 100644 --- a/healthd/images/battery_fail.png +++ b/healthd/images/battery_fail.png diff --git a/healthd/images/battery_scale.png b/healthd/images/battery_scale.png Binary files differnew file mode 100644 index 0000000..2ae8f0f --- /dev/null +++ b/healthd/images/battery_scale.png |