summaryrefslogtreecommitdiffstats
path: root/minui (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add missing includes.Elliott Hughes2015-01-305-0/+6
| | | | Change-Id: I06ea08400efa511e627be37a4fd70fbdfadea2e6
* 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