charger: make the almost-full frame only show when it's current level
Change-Id: Id53de101dd3c211d376abfd748e7646e28291749 Signed-off-by: Dima Zavin <dima@android.com>
This commit is contained in:
parent
604f52e313
commit
9ec3f3e2e4
1 changed files with 10 additions and 1 deletions
|
|
@ -87,6 +87,7 @@ struct frame {
|
|||
const char *name;
|
||||
int disp_time;
|
||||
int min_capacity;
|
||||
bool level_only;
|
||||
|
||||
gr_surface surface;
|
||||
};
|
||||
|
|
@ -157,6 +158,7 @@ static struct frame batt_anim_frames[] = {
|
|||
.name = "charger/battery_4",
|
||||
.disp_time = 750,
|
||||
.min_capacity = 80,
|
||||
.level_only = true,
|
||||
},
|
||||
{
|
||||
.name = "charger/battery_5",
|
||||
|
|
@ -735,7 +737,14 @@ static void update_screen_state(struct charger *charger, int64_t now)
|
|||
* if necessary, advance cycle cntr, and reset frame cntr
|
||||
*/
|
||||
batt_anim->cur_frame++;
|
||||
if (batt_anim->cur_frame == batt_anim->num_frames) {
|
||||
|
||||
/* if the frame is used for level-only, that is only show it when it's
|
||||
* the current level, skip it during the animation.
|
||||
*/
|
||||
while (batt_anim->cur_frame < batt_anim->num_frames &&
|
||||
batt_anim->frames[batt_anim->cur_frame].level_only)
|
||||
batt_anim->cur_frame++;
|
||||
if (batt_anim->cur_frame >= batt_anim->num_frames) {
|
||||
batt_anim->cur_cycle++;
|
||||
batt_anim->cur_frame = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue