From 51266d1397309978eac9b2e96035582454f0321b Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Mon, 1 Nov 2010 10:19:12 -0700 Subject: clear recovery framebuffers on allocation; display icon right after ui_init Make ui_init() clear the framebuffer memory it maps in so the user isn't treated to a visible flash of random bits on recovery startup. Call ui_set_background() (to show the installing icon) right after ui_init() to display something while device_recovery_start() is working (which can take a second or two on some devices). Bug: 3145331 Change-Id: I11e7859fab5847370ea4f4932c3fb1558af26c5d --- minui/graphics.c | 3 ++- recovery.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/minui/graphics.c b/minui/graphics.c index adbfc09da..4127c400a 100644 --- a/minui/graphics.c +++ b/minui/graphics.c @@ -88,6 +88,7 @@ static int get_framebuffer(GGLSurface *fb) fb->stride = vi.xres; fb->data = bits; fb->format = GGL_PIXEL_FORMAT_RGB_565; + memset(fb->data, 0, vi.yres * vi.xres * 2); fb++; @@ -97,6 +98,7 @@ static int get_framebuffer(GGLSurface *fb) fb->stride = vi.xres; fb->data = (void*) (((unsigned) bits) + vi.yres * vi.xres * 2); fb->format = GGL_PIXEL_FORMAT_RGB_565; + memset(fb->data, 0, vi.yres * vi.xres * 2); return fd; } @@ -277,7 +279,6 @@ int gr_init(void) set_active_framebuffer(0); gl->colorBuffer(gl, &gr_mem_surface); - gl->activeTexture(gl, 0); gl->enable(gl, GGL_BLEND); gl->blendFunc(gl, GGL_SRC_ALPHA, GGL_ONE_MINUS_SRC_ALPHA); diff --git a/recovery.c b/recovery.c index 452794aff..9ad075d74 100644 --- a/recovery.c +++ b/recovery.c @@ -701,6 +701,7 @@ main(int argc, char **argv) { printf("Starting recovery on %s", ctime(&start)); ui_init(); + ui_set_background(BACKGROUND_ICON_INSTALLING); load_volume_table(); get_args(&argc, &argv); -- cgit v1.2.3