allow paletted RGB images in recovery

Recovery assumes any paletted images are in RGBA format.  Make it
handle both RGB and RGBA paletted images.

Bug: 3514884
Change-Id: I517cd571aa3f434dacacc33a774236260aec20ef
diff --git a/minui/resources.c b/minui/resources.c
index 2170dca..b437a87 100644
--- a/minui/resources.c
+++ b/minui/resources.c
@@ -121,12 +121,17 @@
     surface->format = (channels == 3) ?
             GGL_PIXEL_FORMAT_RGBX_8888 : GGL_PIXEL_FORMAT_RGBA_8888;
 
+    int alpha = 0;
     if (color_type == PNG_COLOR_TYPE_PALETTE) {
-      png_set_palette_to_rgb(png_ptr);
+        png_set_palette_to_rgb(png_ptr);
+    }
+    if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+        png_set_tRNS_to_alpha(png_ptr);
+        alpha = 1;
     }
 
     int y;
-    if (channels == 3) {
+    if (channels == 3 || (channels == 1 && !alpha)) {
         for (y = 0; y < height; ++y) {
             unsigned char* pRow = pData + y * stride;
             png_read_row(png_ptr, pRow, NULL);