summaryrefslogtreecommitdiffstats
path: root/minui (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use static_cast to cast pointers returned by malloc/calloc/realloc/mmap.Rahul Chaudhry2016-11-164-12/+12
| | | | | | | | | | | static_cast is preferable to reinterpret_cast when casting from void* pointers returned by malloc/calloc/realloc/mmap calls. Discovered while looking at compiler warnings (b/26936282). Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mma Change-Id: Iaffd537784aa857108f6981fdfd82d0496eb5592 Merged-In: I151642d5a60c94f312d0611576ad0143c249ba3d
* Have gr_init_font alloc memory for the fontDamien Bargiacchi2016-11-162-8/+16
| | | | | Change-Id: I8ccf369d52011bc5d07d8e041fe558ce734a78fc (cherry picked from commit d00f5eb63a8e4690f9bef1e943d539d052444d9b)
* Support use of custom fonts in miniuiDamien Bargiacchi2016-11-153-54/+72
| | | | | | Bug: 29547343 Change-Id: I398160c85daac90ffab2fa9bb2e96795b9e9885a (cherry picked from commit 35fff61b1c0d736d090a1cd1bb4e99141cc88ad8)
* Fix "ordered comparison between pointer and zero".MinSeong Kim2016-11-111-1/+1
| | | | | | | | | From Clang 4.x releases, DR583 and DR1512 will be addressed. This patch, in advance, fixes the error(s). Test: `mmma bootable/recovery` Change-Id: I29dc85ae681307c322ab3a698c3f3bbad1c784ee Signed-off-by: MinSeong Kim <minseong.kim@linaro.org>
* Turn on -Werror for recoveryTianjie Xu2016-09-301-0/+2
| | | | | | | | | | Also remove the 0xff comparison when validating the bootloader message fields. As the fields won't be erased to 0xff after we remove the MTD support. Bug: 28202046 Test: The recovery folder compiles for aosp_x86-eng Change-Id: Ibb30ea1b2b28676fb08c7e92a1e5f7b6ef3247ab
* Merge "Recovery mode UI flicker"xinglong.zhu2016-08-082-1/+24
|\ | | | | | | | | | | am: 629bde8c6c Change-Id: I2d9c2a88e8df9d5a096aa70a4a420754c668de26
| * Merge "Recovery mode UI flicker"Treehugger Robot2016-08-082-1/+24
| |\
| | * Recovery mode UI flickerxinglong.zhu2016-08-062-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [root cause ] miniui has no mechanism to protect the buffer which is displaying [changes ] recovery [side effects] ui show [self test ] sc9850-2 general operation has not display abnormal [reviewers ] xinglong.zhu Signed-off-by: xinglong.zhu <xinglong.zhu@spreadtrum.com> [change_type ] AOB --> google_original [tag_product ] common Change-Id: I989a0b2943ff6070a0e98718cfbe95144510d3a2
* | | Merge \"Add docs on regeneration background text image\"Tianjie Xu2016-07-291-2/+2
|\| | | | | | | | | | | | | | | | | am: 5aa2e104c0 Change-Id: I565fa63de18e0c806f2452c009d97c5ad4ebebc3
| * | Add docs on regeneration background text imageTianjie Xu2016-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | Also add a missing string in the recovery_l10n APP. Bug: 30415666 Change-Id: Ice2a9f7cad4ebe332b427bc0c7a9adccb6cf3af3
* | | Merge \"Fix clang-tidy performance warnings.\"Chih-Hung Hsieh2016-07-272-2/+2
|\| | | | | | | | | | | | | | | | | am: 2a3b695168 Change-Id: I55cadf517ec612f1b03de71ce7ca5cff69bc80d0
| * | Fix clang-tidy performance warnings.Chih-Hung Hsieh2016-07-272-2/+2
| |/ | | | | | | | | | | | | | | | | | | * Use const reference parameter type to avoid unnecessary copy. * Use more efficient overloaded string methods. Bug: 30407689 Bug: 30411878 Change-Id: Iefab05c077367f272abf545036b853e8a295c8cd Test: build with WITH_TIDY=1
* | Merge "Keep ADF device alive for the lifetime of the minui backend" am: 14352497f0Jonathan Hamilton2016-05-121-6/+8
|\| | | | | | | | | | | | | | | | | am: 32c2e78726 * commit '32c2e78726fe9c7cdc927c8435352b2f8e824735': Keep ADF device alive for the lifetime of the minui backend Change-Id: If28a4b4c7098f1a5fcf8e46e03d0df575fc68fce
| * Keep ADF device alive for the lifetime of the minui backendJonathan Hamilton2016-05-061-6/+8
| | | | | | | | | | | | | | | | Some ADF drivers do some amount of state cleanup when the ADF device node is closed, making and attempts to draw using it fail. This changes the minui ADF backend to keep the adf_device open until it is exited, fixing issues on such devices.
* | Merge "Fix matches_locale function" into nyc-devTianjie Xu2016-04-212-13/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | am: 8b86373 * commit '8b86373fd954276b18a6fba81afbe42c9caa49d3': Fix matches_locale function Change-Id: If7726c2f381ba0e4ab0519b77c167e75a9d46104
| * | Fix matches_locale functionTianjie Xu2016-04-202-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | matches_locale was expecting input locale string to have at most one underscore; as a result "zh_CN_#Hans" ignores "zh_CN" and matches into "zh". Fix the match function and add unit tests. Bug: 27837319 Change-Id: I4e8a66f91cae6ac2a46b6bf21f670d5ea564c7c8
* | | Merge "Fix google-runtime-int warnings." am: a1f4a1eChih-hung Hsieh2016-04-191-6/+9
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | am: bcad1d1 * commit 'bcad1d1ced730478c94f951034d252e777661332': Fix google-runtime-int warnings. Change-Id: Ifad31026502e3375f4833899056662da540319b5
| * | Fix google-runtime-int warnings.Chih-Hung Hsieh2016-04-181-6/+9
| | | | | | | | | | | | | | | Bug: 28220065 Change-Id: Ida199c66692a1638be6990d583d2ed42583fb592
* | | Merge "Update the system update animation." into nyc-devElliott Hughes2016-04-151-2/+0
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | am: e8d0ecc * commit 'e8d0ecccf7e54e73418cac94b0b136bfed94d51a': Update the system update animation. Change-Id: I5d0ad44b13a505bca62a5316447603fab4d280aa
| * Update the system update animation.Elliott Hughes2016-04-151-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to a Wear-like intro/loop system. We don't have an intro yet, but hopefully this will let Wear delete more code when they move to N. Unlike them, we don't hard-code the number of frames: we just look to see what we have available. We do hard-code the fps though. Also add a graphics test mode so you can see a demo of the UI components without having to actually apply an OTA. Also fix a bug where default locale is null rather than en-US: it's more useful to show _some_ text if we don't have a locale (which should only be during development anyway). Bug: http://b/26548285 Change-Id: I63422e3fef3c41109f924d96fb5ded0b3ae7815d
* | Merge "Fix minui cleanup path on error."Elliott Hughes2016-02-201-3/+3
|\ \ | | | | | | | | | | | | | | | | | | am: fa9af7dae6 * commit 'fa9af7dae68aad09ed624a9786f6cd57713f7b7f': Fix minui cleanup path on error.
| * | Fix minui cleanup path on error.Elliott Hughes2016-02-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bootable/recovery/minui/resources.cpp:321:21: warning: Branch condition evaluates to a garbage value if (surface[i]) free(surface[i]); ^~~~~~~~~~ bootable/recovery/minui/resources.cpp:424:13: warning: Value stored to 'len' during its initialization is never read int len = row[4]; ^~~ ~~~~~~ Bug: http://b/27264652 Change-Id: Icc1a914c59d6a89dab1b752b2cd2b40549566481
* | | Merge commit 'ce46828e08281dc507d4e40ba9e8b770bc21cf0b' into HEADBill Yi2016-02-171-12/+0
|\ \ \ | |/ / |/| / | |/
| * Revert "Byte swap to support BGRA in recovery mode" am: a5d5082222Andriy Naborskyy2016-01-121-12/+0
| |\ | | | | | | | | | | | | | | | | | | am: 40cce13094 * commit '40cce13094cc7cabebe9577f6bb849dcb46b9d81': Revert "Byte swap to support BGRA in recovery mode"
| | * Revert "Byte swap to support BGRA in recovery mode"Andriy Naborskyy2016-01-121-12/+0
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | am: a5d5082222 * commit 'a5d5082222b7420801cdb77f09305dd4c3afb4db': Revert "Byte swap to support BGRA in recovery mode"
| | | * Revert "Byte swap to support BGRA in recovery mode"Andriy Naborskyy2016-01-081-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e5879c3639789d61803605c12371a4f291e0b3cc. The swap in page flip code is not needed any more. New changes take care of ABGR and BGRA formats swapping bytes in png and drawing routines See commit fd778e3e406a7e83536ea66776996f032f24af64 Bug: 26243152 Change-Id: I313ee41bee2c143b4e5412515285a65ac394ec77
| | * | recovery: Switch to clangTao Bao2015-11-161-0/+1
| | |/ | | | | | | | | | | | | | | | | | | And a few trival fixes to suppress warnings. Change-Id: Id28e3581aaca4bda59826afa80c0c1cdfb0442fc (cherry picked from commit 80e46e08de5f65702fa7f7cd3ef83f905d919bbc)
* | / Fix some memory leaks.Yabin Cui2016-02-111-13/+9
|/ / | | | | | | | | Bug: 26906328 Change-Id: Iebaf03db0cb3054f91715f8c849be6087d01b27b
* | res: Embed FPS into icon_installing.png.Tao Bao2015-12-162-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We allow vendor-specific icon installing image but have defined private animation_fps that can't be overridden. This CL changes the image generator to optionally embed FPS (otherwise use the default value of 20) into the generated image. For wear devices, they are using individual images instead of the interlaced one. Change the animation_fps from private to protected so that it can be customized. Bug: 26009230 Change-Id: I9fbf64ec717029d4c54f72316f6cb079e8dbfb5e
* | am 8409b088: Merge "Add drm support to minui" into mnc-devVincent Palatin2015-07-024-0/+484
|\| | | | | | | | | * commit '8409b08888d5ec914d7b4aae552bc78f23bcddd5': Add drm support to minui
| * Add drm support to minuiStéphane Marchesin2015-07-024-0/+484
| | | | | | | | | | | | | | Bug: 22231636 Change-Id: I103c8e906b7dd9862b7bb89d8642268e9a3006b4 Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
| * Check all lseek calls succeed.Elliott Hughes2015-04-301-1/+2
| | | | | | | | | | | | | | | | Also add missing TEMP_FAILURE_RETRYs on read, write, and lseek. Bug: http://b/20625546 Change-Id: I03b198e11c1921b35518ee2dd005a7cfcf4fd94b (cherry picked from commit 7bad7c4646ee8fd8d6e6ed0ffd3ddbb0c1b41a2f)
* | recovery: Switch to clangTao Bao2015-06-031-0/+1
| | | | | | | | | | | | And a few trival fixes to suppress warnings. Change-Id: I38734b5f4434643e85feab25f4807b46a45d8d65
* | Check all lseek calls succeed.Elliott Hughes2015-04-301-1/+2
|/ | | | | | | Also add missing TEMP_FAILURE_RETRYs on read, write, and lseek. Bug: http://b/20625546 Change-Id: I03b198e11c1921b35518ee2dd005a7cfcf4fd94b
* Don't use typedefs that hide *s.Elliott Hughes2015-04-156-43/+38
| | | | | | gr_surface was causing confusion for no good reason. Change-Id: If7120187f9a00dd16297877fc49352185a4d4ea6
* Move the menu header out of the menu.Elliott Hughes2015-04-142-2/+2
| | | | | | | | | | | This makes it easier for us to deal with arbitrary information at the top, and means that headers added by specific commands don't overwrite the default ones. Add the fingerprint back, but broken up so it fits even on sprout's display. Change-Id: Id71da79ab1aa455a611d72756a3100a97ceb4c1c
* Switch minui over to C++.Elliott Hughes2015-04-108-102/+82
| | | | Change-Id: I59e08a304ae514a3fdb6fab58721f11670bc1b01
* Fix ScreenRecoveryUI to handle devices without power/up/down.Elliott Hughes2015-04-102-4/+9
| | | | | | | | Currently fugu has a custom subclass to handle this. The default code supports devices with trackballs but not all shipping Nexus devices? That's just silly. Change-Id: Id2779c91284899a26b4bb1af41e7033aa889df10
* Add ev_iterate_available_keys to minui.Elliott Hughes2015-04-103-94/+126
| | | | | | | This lets us recognize whether we have up/down/power, say, and tailor the UI accordingly. Change-Id: If94e454f14243b59d2f473ac9a436bd60591da01
* Remove support for Cupcake kernels.Elliott Hughes2015-03-241-17/+0
| | | | Change-Id: I7376b9d3c1e11d19e164072d6e9d09c1183114a0
* Fix recovery image text rendering.Elliott Hughes2015-03-242-25/+22
| | | | | | | | | | | | | | Previously most devices would lose the character before a line wrap. The log's text rendering was starting at offset 4 but none of the arithmetic was taking this into account. It just happened to work on the Nexus 9's 1536-pixel wide display (1536/18=85.3) but not on a device such as the Nexus 5 (1080/18=60). The only active part of this change is the change from 4 to 0 in the gr_text call. The rest is just a few bits of trivial cleanup while I was working out what was going on. Change-Id: I9279ae323c77bc8b6ea87dc0fe009aaaec6bfa0e
* am c9bc3cc9: Merge "Drop hardcoded LOCAL_C_INCLUDES from minui/Android.mk"Narayan Kamath2015-02-261-4/+1
|\ | | | | | | | | * commit 'c9bc3cc92a2c2f584b28049238c4a583c80f149d': Drop hardcoded LOCAL_C_INCLUDES from minui/Android.mk
| * Drop hardcoded LOCAL_C_INCLUDES from minui/Android.mkTrevor Drake2015-02-261-4/+1
| | | | | | | | | | | | | | The zlib include was not required. libpng is now handled by referencing the libpng static library Change-Id: Ie4e0abad3fff5b763eba363d3d0fa96128ff49bc
* | am ff934d02: Merge "Fix Droid and animation color in recovery mode"Elliott Hughes2015-02-125-14/+25
|\| | | | | | | | | * commit 'ff934d0257909e9c5420815547a6e2ff89455314': Fix Droid and animation color in recovery mode
| * Fix Droid and animation color in recovery modeTony Kuo2015-02-125-14/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | [Problem] Droid and animation color in recovery mode are incorrect [Modify] - Add support for flipping (zero copy) with RECOVERY_ABGR. - Decodes PNG files to BGRA directly, and other fills, text and alpha blending are also done directly in BGRA (i.e. blits can still bypass conversion) - Remove the BGRA workaround added previous for single buffer mode (f766396) Bug:19216535 Change-Id: Ie864419fc6da776ff58b2d02e130f203c194500f Signed-off-by: Tony Kuo <tony.kuo@mediatek.com>
* | am 78aa50d3: Merge "recovery: Handle EV_SW events"Elliott Hughes2015-02-111-2/+2
|\| | | | | | | | | * commit '78aa50d3499e105d04e37ae3d3d92dad0d2c711c': recovery: Handle EV_SW events
| * recovery: Handle EV_SW eventsAjay Dudani2015-02-111-2/+2
| | | | | | | | Change-Id: I29c13a941067cd1bbdced3bd67fd93293347d7b6
* | am bf0be350: Merge "recovery: Generate libminui dynamic library"Elliott Hughes2015-02-111-0/+7
|\| | | | | | | | | * commit 'bf0be350ddf4fb75178f33ee64706cb795ceade0': recovery: Generate libminui dynamic library
| * recovery: Generate libminui dynamic libraryAjay Dudani2015-02-111-0/+7
| | | | | | | | | | | | | | Allow factory test images to use minui functionaltiy by making use of libminui dynamic library. Change-Id: I63e77420d5addbcc6eebeedc213f629085766b4c
* | am aeecac54: Merge "Add missing includes."Elliott Hughes2015-01-305-0/+6
|\| | | | | | | | | * commit 'aeecac5444ce55d2e82ee1b2aa35ff61a038c14e': Add missing includes.
| * Add missing includes.Elliott Hughes2015-01-305-0/+6
| | | | | | | | Change-Id: I06ea08400efa511e627be37a4fd70fbdfadea2e6
* | Byte swap to support BGRA in recovery modeHeather Lee Wilson2014-11-141-0/+12
|/ | | | | | | Fixes color palate of recovery mode when double buffer enabled. Bug: 18169447 Change-Id: Ia50b0fb9afd8001dfd740c09ce109fa421e691f7
* minui: avoid random screen frame at startupJoey Pan2014-06-121-0/+2
| | | | | | | Clear framebuffer at init. [toddpoynor@google.com: forward port] Change-Id: Ie98c7724cd974dcacef3e3559a6fe492864a5e72
* am 0766cdf4: am d2fb4ed5: am d27aa76a: Merge "Support BGRA framebuffer"Doug Zongker2014-05-141-0/+13
|\ | | | | | | | | * commit '0766cdf49acb77677864995e931eec391243505d': Support BGRA framebuffer
| * Support BGRA framebufferDaniel Leung2014-05-141-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | The re-designed recovery graphics code only supports RGB{_,X,A} framebuffer, and this patch adds support for BGRA framebuffer. Change-Id: I3780c8288088f497fa248f3492c54f43834a8598 Signed-off-by: Daniel Leung <daniel.leung@intel.com> Reviewed-by: Jovanovic, Radivoje <radivoje.jovanovic@intel.com> Reviewed-by: Parkinson, TimothyX L <timothyx.l.parkinson@intel.com> Tested-by: Parkinson, TimothyX L <timothyx.l.parkinson@intel.com> Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com> Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
* | am e9f9238a: am 1cd52423: am 1c2cf1db: Merge "recovery: minui: add adf backend"Greg Hackmann2014-05-034-5/+266
|\| | | | | | | | | * commit 'e9f9238af83f949dc000667356eba025e1241a2f': recovery: minui: add adf backend
| * recovery: minui: add adf backendGreg Hackmann2014-04-264-5/+266
| | | | | | | | | | Change-Id: I1ad97b5b62bddbcb1104fa0b4e54415b793a4194 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | am 03008bc1: am aa4545b5: Merge "restore minui support for paletted images with < 8 bits"Doug Zongker2014-03-201-1/+1
|\| | | | | | | | | * commit '03008bc1e89a780e382abe0567e709daecce92ff': restore minui support for paletted images with < 8 bits
| * restore minui support for paletted images with < 8 bitsDoug Zongker2014-03-201-1/+1
| | | | | | | | | | | | | | The PNG image loaders should support images that use palettes requiring fewer than 8 bits. Change-Id: Ibcb0ff6f04aea8de54b03c0efa7a79e9b3635146
* | am 47c7e365: am 130a7985: Merge "fix error log statement"Doug Zongker2014-03-181-1/+1
|\| | | | | | | | | * commit '47c7e365071f75489604b2d0ba3109fe39bac1ef': fix error log statement
| * fix error log statementDoug Zongker2014-03-181-1/+1
| | | | | | | | | | | | We were printing the address of channels instead of the value there. Change-Id: I652340c7c1a0abaf01af555e54d2c0366d21ad78
* | am 80c1a386: resolved conflicts for merge of d90da130 to klp-modular-dev-plus-aospDoug Zongker2014-03-183-238/+242
|\| | | | | | | | | * commit '80c1a386d3f614919708b37986919ecaf74ee738': refactor image resource loading code in minui
| * refactor image resource loading code in minuiDoug Zongker2014-03-173-238/+242
| | | | | | | | | | | | | | | | | | | | Reduce the number of copies of libpng boilerplate. Rename res_create_* functions to be more clear. Make explicit the use of the framebuffer pixel format for images, and handle more combinations of input and output (eg, loading a grayscale image for display rather than use as a text alpha channel). Change-Id: I3d41c800a8f4c22b2f0167967ce6ee4d6b2b8846
* | am 4b6de1ba: am 026ebe02: Merge "Recovery 64-bit compile issues"Mark Salyzyn2014-03-142-4/+5
|\| | | | | | | | | * commit '4b6de1ba1ce0fff95c18a8abb7ba6e5762006d49': Recovery 64-bit compile issues
| * Recovery 64-bit compile issuesMark Salyzyn2014-03-142-4/+5
| | | | | | | | Change-Id: I92d5abd1a628feab3b0246924fab7f97ba3b9d34
| * separate fbdev-specific code out from minuiDoug Zongker2014-03-115-152/+268
| | | | | | | | | | | | | | Isolate the code that interacts with fbdev, in preparation for adding a new backend. Change-Id: I19105e9da1ca6408cebc110f7e2bb5abfb481ee9
| * remove pixelflinger from recoveryDoug Zongker2014-03-113-266/+348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recovery now draws directly to the framebuffer by rolling its own graphics code, rather than depending on libpixelflinger. The recovery UI is modified slightly to eliminate operations that are slow with the software implementation: when the text display / menu is turned on, it now appears on a black background instead of a dimmed version of the recovery icon. There's probably substantial room for optimization of the graphics operations. Bug: 12131110 Change-Id: Iab6520e0a7aaec39e2ce39377c10aef82ae0c595 Conflicts: minui/resources.c
| * change how recovery animation is implementedDoug Zongker2014-03-112-3/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of one 'base' installing image and a number of overlay images that are drawn on top of it, we represent the installing animation with one PNG that contains all the animation frames, interlaced by row. The PNG is expected to have a text chunk with the keyword 'Frames' and a value that's the number of frames (as an ascii string). This representation provides better compression, removes the need to subclass ScreenRecoveryUI just to change the position of the overlay or number of frames, and doesn't require gr_blit() to support an alpha channel. We also remove the 'indeterminate' progress bar used when wiping data and/or cache. The main animation serves the same purpose (showing that the device is still alive); the spinning progress bar has been redundant for a while. This changes the default recovery animation to include the antenna-wiggling and gear-turning that's used in the Nexus 5 recovery animation. Change-Id: I51930a76035ac09969a25472f4e572b289418729 Conflicts: screen_ui.cpp screen_ui.h
* | separate fbdev-specific code out from minuiDoug Zongker2014-03-115-152/+268
| | | | | | | | | | | | | | Isolate the code that interacts with fbdev, in preparation for adding a new backend. Change-Id: I19105e9da1ca6408cebc110f7e2bb5abfb481ee9
* | remove pixelflinger from recoveryDoug Zongker2014-03-113-273/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recovery now draws directly to the framebuffer by rolling its own graphics code, rather than depending on libpixelflinger. The recovery UI is modified slightly to eliminate operations that are slow with the software implementation: when the text display / menu is turned on, it now appears on a black background instead of a dimmed version of the recovery icon. There's probably substantial room for optimization of the graphics operations. Bug: 12131110 Change-Id: Iab6520e0a7aaec39e2ce39377c10aef82ae0c595
* | change how recovery animation is implementedDoug Zongker2014-03-072-3/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of one 'base' installing image and a number of overlay images that are drawn on top of it, we represent the installing animation with one PNG that contains all the animation frames, interlaced by row. The PNG is expected to have a text chunk with the keyword 'Frames' and a value that's the number of frames (as an ascii string). This representation provides better compression, removes the need to subclass ScreenRecoveryUI just to change the position of the overlay or number of frames, and doesn't require gr_blit() to support an alpha channel. We also remove the 'indeterminate' progress bar used when wiping data and/or cache. The main animation serves the same purpose (showing that the device is still alive); the spinning progress bar has been redundant for a while. This changes the default recovery animation to include the antenna-wiggling and gear-turning that's used in the Nexus 5 recovery animation. Change-Id: I51930a76035ac09969a25472f4e572b289418729
* | am 2739ed96: am a5d105e2: Merge "recovery: fix building with pointer-to-int errors turned on"Colin Cross2014-02-061-1/+1
|\| | | | | | | | | * commit '2739ed9628f72813d213b7a429c4c1b8dcebe5fc': recovery: fix building with pointer-to-int errors turned on
| * recovery: fix building with pointer-to-int errors turned onColin Cross2014-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | Use intptr_t/uintptr_t to cast between pointer and int to allow building with -Werror=pointer-to-int-cast and Werror=int-to-pointer-cast turned on. Cast to char* instead of unsigned int for pointer arithmetic. Change-Id: Ia862306fdcca53866b330e8cf726f3d62f2248a0
* | am 27efc8f9: am 617d1cad: Merge "minui: do not use flexible array initialization"Nick Kralevich2014-01-041-1/+1
|\| | | | | | | | | * commit '27efc8f9d1711134051b45d28b2fc38bfb4c7dc6': minui: do not use flexible array initialization
| * minui: do not use flexible array initializationsynergy dev2013-11-261-1/+1
| | | | | | | | | | | | Avoiding the use of gnu extensions improves code portability Change-Id: I441a49ce08b6ecb1d735ca453552fa92026c5016
| * am 5c4e1dac: Merge "Update libpng API usage"John Reck2013-08-271-12/+12
| |\ | | | | | | | | | | | | * commit '5c4e1dac0bd8f31559bd50eec4343b7a17b7a976': Update libpng API usage
| | * Update libpng API usageJohn Reck2013-08-271-12/+12
| | | | | | | | | | | | | | | | | | Remove usage of deprecated methods Change-Id: I747568a2c8c0c65ecbc9a3da4bac7b9cac7708ab
* | | fix use of RGBA images in minuiDoug Zongker2013-09-261-3/+11
| | | | | | | | | | | | | | | Bug: 10934401 Change-Id: I471b30e5b2e877c620e4a0a524e950cddbc6d2c0
* | | recovery: fix epoll events type to uint32_tTodd Poynor2013-09-172-3/+3
| | | | | | | | | | | | Change-Id: I5db9987102201c18821acb45d1f824e9865a1451
* | | minui: add ev_get_epollfd() to retrieve epoll file descriptorTodd Poynor2013-09-122-0/+6
| | | | | | | | | | | | | | | | | | To allow use of ev_* functions with an external main loop. Change-Id: If73717b64d7c455ca726b90a815a31c1edf52544
* | | minui: convert ev_*() event interface to epollTodd Poynor2013-09-122-27/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Help enable external main loop combined with ev_*() key event processing. Specify EPOLLWAKEUP to hold a wakelock on any event, assuming this is needed (may need to make this optional). Convert callback events parameter to unsigned int. Change-Id: Ib5e09abbd7724ffd830e2cf8e25e7eb59d3aa072
* | | Fix libpng API usageJohn Reck2013-08-131-12/+12
|/ / | | | | | | | | | | Remove usage of deprecated methods that were removed in 1.6 Change-Id: I2a669bf5201197f60adfdbe512fd729bebb74f9c
* / recovery: move log output to stdoutDoug Zongker2013-07-091-2/+2
|/ | | | | | | | Recovery currently has a random mix of messages printed to stdout and messages printed to stderr, which can make logs hard to read. Move everything to stdout. Change-Id: Ie33bd4a9e1272e731302569cdec918e0534c48a6
* more font improvements and cleanupDoug Zongker2013-03-073-13/+247
| | | | | | | | | | | | | | | | | Get rid of the notion of a font's "ascent"; the reference point for drawing is the top-left corner of the character box rather than the baseline. Add some more space between the menu entries and make the highlight bar around the text. Replace the default font.png with two images; the build system will include one or the other based on the resolutions of the device. Restore the original compiled-in bitmap font, to fall back on when font.png can't be found (eg, in the charger binary). Add support for bold text (when a font.png image is used). Change-Id: I6d211a486a3636f20208502b1cd2aeae8b9f5b02
* recovery: change font for menus to be an imageDoug Zongker2013-03-053-246/+27
| | | | | | | | Instead of representing the font used for menus and log messages in the recovery binary, load it from a resource PNG image. This allows different devices to substitute their own font images. Change-Id: Ib36b86db3d01298aa7ae2b62a26ca29e6ef18014
* add optional overscan compensation to recovery graphicsDoug Zongker2012-12-193-5/+32
| | | | | | | | | | | If your screen is a TV, it may not actually be displaying the edges of the framebuffer. Allow specifying an overscan percentage, and move each edge of the framebuffer in by that percent of the width/height. (The gr_* layer just lies to the caller about the size of the framebuffer, telling the caller it's smaller than it really is, and offsets all drawing commands to match.) Change-Id: I11bb2feb39ae522bd3e957a14ebdecf3609e0fdc
* minor recovery fixesDoug Zongker2012-09-042-6/+6
| | | | | | | | | | | - protect against missing/malformed bitmaps: fail to display them but don't crash. - don't draw animation overlays until the overlay offset is computed. - logging cleanup Change-Id: Ieb1c155cfbb11e643000bdb5d1a57900c8757739
* Merge "recovery locale handling fixes" into jb-mr1-devDoug Zongker2012-08-301-8/+0
|\
| * recovery locale handling fixesDoug Zongker2012-08-301-8/+0
| | | | | | | | | | | | | | | | | | | | | | - change locale filename to "last_locale" so the main system doesn't delete it - clean up some chatty logging - update images with real German (other languages TBD) Change-Id: I2ebb4ed4e054bd1808a3042d9efbb2c18f3a044d
* | am bddbb5b3: Merge "Fixing trivial warnings for libminui"Jean-Baptiste Queru2012-08-241-2/+2
|\ \ | |/ |/| | | | | * commit 'bddbb5b370d925d6e5ae62d560f5e7ad09a6ffac': Fixing trivial warnings for libminui
| * Fixing trivial warnings for libminuiEdwin Vane2012-08-211-2/+2
| | | | | | | | | | | | | | | | After fixing three trivial warnings, libminui builds cleanly with clang. Change-Id: Id7c6228295427a5ed3c774c5f90e88a28336c1f7 Author: Edwin Vane <edwin.vane@intel.com> Reviewed-by: Kevin P Schoedel <kevin.p.schoedel@intel.com>
* | add simple text to recovery UIDoug Zongker2012-08-233-0/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - recovery takes a --locale argument, which will be passed by the main system - the locale is saved in cache, in case the --locale argument is missing (eg, when recovery is started from fastboot) - we include images that have prerendered text for many locales - we split the background states into four (installing update, erasing, no command, error) so that appropriate text can be shown. Change-Id: I731b8108e83d5ccc09a4aacfc1dbf7e86b397aaf
* | fix conflicts with merge of jb-dev-makoEd Heyl2012-07-261-2/+4
|\ \ | | | | | | | | | Change-Id: I2d8d18232ed02b2c4e3e661544046bf4b8039800
| * | minui: fix screen update issueDevin Kim2012-07-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | yres_virtual value is set incorrectly, causing serveral images to be skipped. Change this value according to the number of buffers to fix this issue. from: codeaurora.org minui: Display the battery charging image correctly commit: 581a4dead6b96579a13ff22e2454c1f329731679 Change-Id: I10f5d1c6cc37705f0287c7dd517082de2e11d264 Signed-off-by: Iliyan Malchev <malchev@google.com>
* | | am dd6cd4fc: Merge "graphics: add support for "single buffering""Doug Zongker2012-07-211-2/+10
|\ \ \ | | |/ | |/| | | | | | | * commit 'dd6cd4fcc1b22df7f55e1ab3e54589939dc54179': graphics: add support for "single buffering"
| * | graphics: add support for "single buffering"Octavian Purdila2012-07-121-2/+10
| |/ | | | | | | | | | | | | | | | | When we don't have enough video memory for double buffering we fallback to "single buffering". Change-Id: I8bfab6d8cd6b54f0cc6c67edc41a4c37d8fbd4ba Signed-off-by: Octavian Purdila <octavian.purdila@intel.com> Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
* / allow double-quotes or not in TARGET_RECOVERY_PIXEL_FORMATDoug Zongker2012-07-111-2/+6
|/ | | | Change-Id: I0bf22c87c51a34ee4a839c4966277fad8150bd59
* turn recovery into a C++ binaryDoug Zongker2011-10-311-0/+8
| | | | Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
* minui: add ability to synchronize current key stateDima Zavin2011-10-132-2/+38
| | | | | | | | | | | If a key is down prior to the time of initialization, we would not get the down event for the key, and thus think that the key is not pressed. Add an interface that allows one to provide a callback to execute on all keys that are currently down. Change-Id: I2a4096c0cb4c7c7a9a80d207835f168a0b418413 Signed-off-by: Dima Zavin <dima@android.com>
* fix problem where the screen is sometimes all black in recoveryDoug Zongker2011-09-271-0/+3
| | | | Change-Id: Ifa0b59e43eaf0bea9435aa4d96c5b0fc4f10fbfe
* minui: events: only open input devices with EV_KEY and/or EV_RELDima Zavin2011-09-021-0/+17
| | | | | Change-Id: I8283d7aaa0f66d488f462cd108350cc49657a745 Signed-off-by: Dima Zavin <dima@android.com>
* minui: events: add ability to poll on non-input fdsDima Zavin2011-09-022-3/+23
| | | | | Change-Id: Iad52a6f2adcae0068d252d6163586f9d7b93121d Signed-off-by: Dima Zavin <dima@android.com>
* minui: events: refactor event acquisitionDima Zavin2011-09-022-15/+49
| | | | | | | | | | | | | | | | | | | | | | Events are now delivered through a callback mechanism during a call to ev_dispatch(). This will allow us to extend the events code to handle other devices/fds, not just input. One such example is the ability to process uevents. During initialization, we provide an input callback to ev_init that gets called when a new event is encountered during dispatch. ev_get has been removed and replaced with ev_get_input() helper function that can be called from inside the callback to attempt to get an input event. The existing client of ev_get in recovery has been split up such that the input thread just calls ev_wait(); ev_dispatch(); and the input_callback handles individual events by using the ev_get_input() helper. Change-Id: I24d8e71bd1533876b4ab1ae751ba200fea43c049 Signed-off-by: Dima Zavin <dima@android.com>
* minui: graphics: add interface for framebuffer blank/unblankDima Zavin2011-08-302-0/+13
| | | | | Change-Id: I5c3ee61cbf6fadae50f10b9f2e73caceaa5048a7 Signed-off-by: Dima Zavin <dima@android.com>
* minui: graphics: add ability to query font sizeDima Zavin2011-08-302-0/+7
| | | | | Change-Id: I5e8f477b7b205794f2975f12e6b6010c177f6052 Signed-off-by: Dima Zavin <dima@android.com>
* Get the correct line_length.Michael Ward2011-06-241-2/+37
| | | | | | Set the BPP and other fields and write it back, so the line_length comes back correctly. Change-Id: I85e4e8223c79b9394ae1fb609b3026de62027ab8
* Graphics can handle stride != xres, and BGRA support.Michael Ward2011-06-232-12/+18
| | | | Change-Id: Ifee94ac08028e62a40241a089ac7c36346fea3a3
* allow paletted RGB images in recoveryDoug Zongker2011-03-051-2/+7
| | | | | | | | Recovery assumes any paletted images are in RGBA format. Make it handle both RGB and RGBA paletted images. Bug: 3514884 Change-Id: I517cd571aa3f434dacacc33a774236260aec20ef
* make recovery UI images more general; allow for installation animationDoug Zongker2011-03-011-0/+2
| | | | | | | | | | | Change some of the UI parameters (# of indeterminate progress bar frames, fps, etc.) from #defined constants to variables that can be set by the device-specific recovery_ui code (via a new function). Support overlaying different images on top of the base installation icon to animate it. Make the FPS control more accurate. Change-Id: I9268b389b7ea6b3ed9e0c7eae37baf4272e60edd
* option to allow recovery to use 24-bit graphics in UIDoug Zongker2011-01-142-10/+22
| | | | | | | Add "RECOVERY_24_BIT := true" to the device's BoardConfig.mk to use 24-bit framebuffers in the recovery ui. Change-Id: Iaede138bf7870becf237f12f1c0e49c9ff82d007
* clear recovery framebuffers on allocation; display icon right after ui_initDoug Zongker2010-11-011-1/+2
| | | | | | | | | | | 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
* simplify construction of the recovery progress barDoug Zongker2009-10-091-3/+8
| | | | | | | | | | | Instead of six separate images for the left end, right end, and tiled center portion of the full and empty progress bars, just use two images: a full bar and an empty bar. Draw the left side of the full bar and the right side of the empty one, moving the boundary rightward to "fill" the bar. This makes recovery trivially smaller, and allows fancier images to be used as progress bars. Support paletted PNG images as resources.
* split out device-specific recovery UI code into vendor directoriesDoug Zongker2009-06-111-16/+0
| | | | | | | | | Take some device-specific details of the recovery UI (eg, what keys to press to bring up the interface and perform actions, exact text of the menu, etc.) and split them out into separate C functions. Arrange to take implementations of those functions from the appropriate vendor directory at build time. Provide a default implementation in case no vendor-specific one is available.
* Force the fb into 16 bpp mode in case the hw has some other default.Rebecca Schultz Zavin2009-06-061-0/+1
| | | | Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
* AI 143289: am: CL 143128 Use PNG instead of BMP for recovery image icons. This savesDoug Zongker2009-03-281-100/+67
| | | | | | | | about 60k from the recovery and system images. Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 143289
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-047-0/+946
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-047-946/+0
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-111-16/+33
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-181-33/+24
|
* Initial ContributionThe Android Open Source Project2008-10-217-0/+938