summaryrefslogtreecommitdiffstats
path: root/minui (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update to 7.0Ethan Yonker2016-08-244-35/+28
|\ | | | | | | Change-Id: I621cc47352f7ac552d9602485825ae3a6f9ae516
| * 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
| * 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
| * 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)
| * | 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
| * | 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
* | | minui: Fix gr_set_font() build issue on cm-13.0 tree.nailyk2016-08-232-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | - Add a fake function which fill the vendor/cm/charger/healthd_board_cm.cpp requirements. Solve omnirom/android_bootable_recovery#84 issue. Change-Id: Ia9bf898006da7e4f4ee6a942584fe2dd3c88f8ba
* | | minui: bring back custom font supportmaxwen2015-12-015-1/+947
| | | | | | | | | | | | Change-Id: I6cb97b236ff8ada46d270e99ab37656f5f1b73f8
* | | Add support for RGBA_8888 pixel formatKra1o52015-10-144-0/+10
| | | | | | | | | | | | Change-Id: Ia15d49e51cad5bc8a3291975e1ff515a2b1c419c
* | | Add qcom overlay graphics support to minuiEthan Yonker2015-10-145-4/+845
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | graphics_overlay.cpp is based on a mix of AOSP code for graphics_fbdev.cpp along with overlay graphics code from CAF that was brought into earlier versions of TWRP and then further adapted and improved before being brought into this patch set. Also added a rule to build a minuitest binary for testing the minui engine to ensure proper operation on a device. Change-Id: I3972d3a6baa7002615319421ac07d9299c3cec69
* | | Add 16bpp support to minuiEthan Yonker2015-10-141-25/+136
| | | | | | | | | | | | Change-Id: I9a9ba6ccbef999b1a4b122e45f862bd3672b5047
* | | Merge up to AOSP marshmallow-releaseEthan Yonker2015-10-0919-3369/+1889
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to maintain compatibility with older trees, we now have minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to handle ifdef issues in minui/minui.d because healthd includes minui/minui.h and there was no other alternative to make minui.h compatible with older trees without having to modify healthd rules which is outside of TWRP. Note that the new minui does not currently have support for qcom overlay graphics. Support for this graphics mode will likely be added in a later patch set. If you are building in a 6.0 tree and have a device that needs qcom overlay graphics, be warned, as off mode charging may not work properly. A dead battery in this case could potentially brick your device if it is unable to charge as healthd handles charging duties. Update rules for building toolbox and add rules for making toybox Use permissive.sh in init.rc which will follow symlinks so we do not have to worry about what binary is supplying the setenforce functionality (toolbox, toybox, or busybox). Fix a few warnings in the main recovery binary source code. Fix a few includes that were missing that prevented compiling in 6.0 Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
| * | 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)
| * 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: add BOARD_USE_CUSTOM_RECOVERY_FONTmaxwen2015-07-166-1/+965
| | | | | | | | | | | | we want to use it in charger Change-Id: I3e0288b074bd7203214d218aaee69cb4798e9531
* | Add option to use new heap_id_mask instead of old heap_maskKra1o52015-04-232-0/+8
| | | | | | | | | | | | Use TW_NEW_ION_HEAP := true to use it Change-Id: I2ad105fa6d122b460ed4b5dc78563077b7904567
* | Add support for custom kernel headersKra1o52014-12-171-2/+10
| | | | | | | | Change-Id: I39fe4de8919e59dd75e8cb535fa0648948035c26
* | EPOLLWAKEUP handling in minui/events.cEthan Yonker2014-12-121-0/+8
| | | | | | | | | | | | | | | | | | Older trees may not have EPOLLWAKEUP defined so we will work around the lack of EPOLLWAKEUP support as best we can. This should only maybe affect how charger handles waking up the screen in off mode charging in older trees. No impact on TWRP itself. Change-Id: Ia72ebfc12778b2bcda648edc27d2092c2ead415c
* | Update minui to work properlyEthan Yonker2014-12-091-143/+132
| | | | | | | | | | | | | | | | | | | | | | minui is not used by TWRP but it is included in AOSP recovery source and healthd (formerly charger) uses minui for displaying the battery charging animation during off-mode charging. This patch fixes / updates minui to use updated code to load png files into memory. Change-Id: I706d10d66de95886396d866e80615b1fb905d201
* | Make TWRP compile for arm64Ethan Yonker2014-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Remove dosfstools for arm64 until we can make it compile -Fix TW_USE_TOOLBOX flag to work again -Fix symlinking and handling of sh when using mksh -Fix legacy properties to find futex_wake function -Fix libcrecovery to not use bsd_signal anymore -Fix rules for building with regards to libcrecovery -Update toolbox_recovery rules to compile tools in lollipop -Fix a few compile errors specific to arm64 Testers report that TWRP does not boot on Nexus 9 and we fail to get a shell for adb shell. At least it compiles without errors. Change-Id: I286be8628defb60cc527b8a548c0bdfcb0ebb574
* | Disable custom theme and fix png loadingEthan Yonker2014-11-071-2/+2
| | | | | | | | | | | | | | We will have to update the zip handling later. Now at least TWRP boots up to the GUI. Change-Id: I4182896eb095cab52fb0f1c9c20b6605e35677b9
* | Fix up old libminui to compileEthan Yonker2014-11-075-29/+247
| | | | | | | | | | | | | | | | | | Implement some needed updates to libminui to make it compile for healthd. Note that res_create_multi_display_surface is not fully implemented so healthd may still have issues with displaying some graphics. Will update later when we are able to test these changes. Change-Id: Ic1095a998f5dfe7e36a08384c86da28e0524a03f
* | Revert to old libminui and fix upEthan Yonker2014-11-069-1141/+292
| | | | | | | | | | | | | | | | We will wait for CAF to give us a new libminui that supports qualcomm overlay before moving up to the new format if possible. Attempt to fix up old libminui to work with new libpng. Change-Id: I494b7287b347f4730aa8f9d27d4cc17b6e93919a
* | Merge in lollipop and attempt to fix merge conflictsEthan Yonker2014-11-069-292/+1145
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will probably not compile and may need additional work. For tracking purposes so we know what might still need looking at as none of this has been compiled and tested, here is a list of the merge conflicts that I attempted to fix before pushing this set of changes: git pull aosp lollipop-release remote: Finding sources: 100% (992/992) remote: Total 992 (delta 473), reused 992 (delta 473) Receiving objects: 100% (992/992), 1.51 MiB | 516.00 KiB/s, done. Resolving deltas: 100% (473/473), completed with 42 local objects. From https://android.googlesource.com/platform/bootable/recovery * branch lollipop-release -> FETCH_HEAD * [new branch] lollipop-release -> aosp/lollipop-release Auto-merging verifier_test.cpp CONFLICT (content): Merge conflict in verifier_test.cpp Auto-merging verifier.h CONFLICT (content): Merge conflict in verifier.h Auto-merging verifier.cpp CONFLICT (content): Merge conflict in verifier.cpp Auto-merging updater/updater.c Auto-merging updater/install.c CONFLICT (content): Merge conflict in updater/install.c Auto-merging updater/Android.mk CONFLICT (content): Merge conflict in updater/Android.mk Auto-merging uncrypt/Android.mk CONFLICT (content): Merge conflict in uncrypt/Android.mk Auto-merging ui.cpp CONFLICT (content): Merge conflict in ui.cpp Auto-merging screen_ui.cpp Auto-merging roots.cpp CONFLICT (content): Merge conflict in roots.cpp CONFLICT (rename/delete): res-hdpi/images/progress_fill.png deleted in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42. Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of res-hdpi/images/progress_fill.png left in tree. CONFLICT (rename/delete): res-hdpi/images/progress_empty.png deleted in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42. Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of res-hdpi/images/progress_empty.png left in tree. CONFLICT (rename/delete): res-hdpi/images/icon_error.png deleted in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42. Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of res-hdpi/images/icon_error.png left in tree. Auto-merging recovery.cpp CONFLICT (content): Merge conflict in recovery.cpp Auto-merging minui/resources.c CONFLICT (content): Merge conflict in minui/resources.c Auto-merging minui/minui.h CONFLICT (content): Merge conflict in minui/minui.h Auto-merging minui/graphics.c CONFLICT (content): Merge conflict in minui/graphics.c Auto-merging minui/Android.mk CONFLICT (content): Merge conflict in minui/Android.mk Removing minelf/Retouch.h Removing minelf/Retouch.c Auto-merging minadbd/usb_linux_client.c CONFLICT (content): Merge conflict in minadbd/usb_linux_client.c Auto-merging minadbd/adb.h CONFLICT (content): Merge conflict in minadbd/adb.h Auto-merging minadbd/adb.c CONFLICT (content): Merge conflict in minadbd/adb.c Auto-merging minadbd/Android.mk CONFLICT (content): Merge conflict in minadbd/Android.mk Removing make-overlay.py Auto-merging install.h CONFLICT (content): Merge conflict in install.h Auto-merging etc/init.rc CONFLICT (content): Merge conflict in etc/init.rc Auto-merging bootloader.h Auto-merging applypatch/applypatch.c Auto-merging applypatch/Android.mk CONFLICT (content): Merge conflict in applypatch/Android.mk Auto-merging adb_install.cpp CONFLICT (content): Merge conflict in adb_install.cpp Auto-merging Android.mk CONFLICT (content): Merge conflict in Android.mk Automatic merge failed; fix conflicts and then commit the result. Change-Id: I3e0e03e48ad8550912111c7a5c9a140ed0267e2c
| * 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
| * | | 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
* | | Build block TWRP with RECOVERY_VARIANTMatt Mower2014-09-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable TWRP to reside alongside other recoveries with the naming convention: bootable/recovery(-flag). If TWRP resides at bootable/recovery and a device does not specify RECOVERY_VARIANT, then it will build like normal. If TWRP resides at bootable/recovery-twrp, then its makefiles will only be parsed if a device specifies 'RECOVERY_VARIANT := twrp'. This prevents TWRP specific makefile warnings/errors (notably, missing DEVICE_RESOLUTION) when another recovery is being built. Change-Id: I8f02fffcd79c309c7123b9428eedc69af02e126e
* | | minui: Do not return true from target_has_overlay() if MSM_BSP is not setAndrew Dodd2014-06-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | Since target_has_overlay() was not ifdefed with MSM_BSP, it would return true on some devices even if MSM_BSP was unset, breaking LPM and some other minui functions. Change-Id: Ic6b524fa0b5e36fc9ffe67d53e2bf33e9d4fd2d3
* | | Update minui to support overlay graphicsDees Troy2014-05-027-36/+1614
| | | | | | | | | | | | | | | | | | Fix path in minuitwrp for includes Change-Id: I9e9e5f67e8574cdcbc6f8873ceeb56eab71143ed
* | | recovery: Compatibility with upstream minui changeSteve Kondik2014-04-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | * minui is changing a lot upstream. We won't merge it here, but it's being used in another branch. Add compatibility in CWM so that we can move forward. Change-Id: I6866ec2e4dbbb3e7682595aef91645b6de547435
* | | minui: adapt backlight blanking commit to TWRPMatt Mower2014-02-062-5/+15
| | | | | | | | | | | | Change-Id: I79417d218c84fcdaf2ce5ecdf314031831d89575
* | | minui: Allow devices to blank/unblank using LCD backlightEthan Chen2014-02-032-0/+16
| | | | | | | | | | | | | | | | | | | | | * Some devices rely on the LCD backlight to blank/unblank the display, support them by allowing a custom LCD backlight path to be used. Change-Id: I8406b4b55cd7a2afc4f8f8ba65de2c53b949489d
* | | Support custom graphics.c.Koushik Dutta2013-12-121-1/+6
| | | | | | | | | | | | | | | | | | | | | TWRP does not use this, but is needed for other things that depend on it like charger. Change-Id: Ic7d10e8230151bcc4be6cfa222a1e07231e7139f
* | | Fix merge conflicts and update for 4.4 kitkatDees Troy2013-11-021-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | Make a copy of libmincrypt in TWRP source so we do not have to ifdef verifier.cpp for various versions of mincrypt. Remove reboot tool from toolbox (it was removed from 4.4 and did not compile properly on some devices in older trees)
| * | 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
* | | Hack-fix build with different system/core/charger versionsVojtech Bocek2013-09-062-2/+12
| | | | | | | | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* | | Update to latest AOSP masterDees_Troy2013-09-044-47/+255
|\ \ \ | | |/ | |/| | | | Merge in latest commits from AOSP master and fix merge conflicts
| * | Update libpng API usageJohn Reck2013-08-271-12/+12
| |/ | | | | | | | | | | Remove usage of deprecated methods Change-Id: I747568a2c8c0c65ecbc9a3da4bac7b9cac7708ab
| * 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
| * | 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"
| * | | | allow double-quotes or not in TARGET_RECOVERY_PIXEL_FORMATDoug Zongker2012-07-111-2/+6
| | |/ / | |/| | | | | | | | | | Change-Id: I0bf22c87c51a34ee4a839c4966277fad8150bd59
* | | | TWRP-ify AOSP codeDees_Troy2012-09-051-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | Pull in most TWRP sources Stub out partition management code Make it compile -- probably will not boot Kind of a mess but have to start somewhere
* | | 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>
* | 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>
* 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