summaryrefslogtreecommitdiffstats
path: root/minui
Commit message (Collapse)AuthorAgeFilesLines
* minui: Skip EV_REL input devices.Vitalii Kulikov2017-01-162-1/+10
| | | | | | | | | | | This is causing recovery to skip real input devices on some samsung phones where sensors are registered as input devices. So there more then 16 of them. (ex. ks01lte) And EV_REL input devices already disabled in recovery ui.cpp if BOARD_RECOVERY_NEEDS_REL_INPUT is not set. So do same here not to exceed the limit of MAX_DEVICES Change-Id: If3d6e29d00229278a8ef3dfa445393c9f3d5f361
* Merge tag 'android-6.0.1_r22' of ↵Steve Kondik2016-03-111-12/+0
|\ | | | | | | | | | | | | | | https://android.googlesource.com/platform/bootable/recovery into cm-13.0 Android 6.0.1 release 22 Change-Id: I9a9bddd7f1d8dfc8cb91f4fe8d57e2d3df41f6eb
| * 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
* | minui: accept RGBA and treat it as RGBXArnav Gupta2016-02-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are devices with RGBA_8888 pixel format. There are also recoveries like TWRP that have alpha support and hence for a RGBA device, I expect to be able to set TARGET_RECOVERY_PIXEL_FORMAT = RGBA_8888 It should be supported on BoardConfig to set the correct PixelFormat for a device. Although recovery does not have alpha, so it can consider RGBA devices as RGBX, but it could do so in future. Change-Id: Id1f3b2fbfc8ad4cf0422614580e420196614f792 Signed-off-by: Arnav Gupta <championswimmer@gmail.com>
* | minui: don't drop EV_ABS (touch) eventsDrew Walton2015-12-041-2/+2
| | | | | | | | Change-Id: I8d16c5cffb28d6621c8079ed6cb38381cc9d43b5
* | minui: support to pan display (FBIOPAN_DISPLAY)Daniel Hillenbrand2015-11-252-0/+10
| | | | | | | | | | | | Needed for newer hisilicon boards Change-Id: I9a5d640b1168de518885b89f63499c6f31958b75
* | sr: Touch UITom Marshall2015-11-252-3/+41
| | | | | | | | Change-Id: I4ee87f3474aec0496c47bb561ddecc74e151cbbf
* | recovery: Initial dialog implementationTom Marshall2015-11-252-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement two types of dialogs: info and error. Info dialogs are intended to show that an operation is in progress and cannot be interrupted. Error dialogs are intended to show that an error occurred. The user must respond by dismissing the dialog with any input (a swipe or keypress). Dialogs may be initiated internally within the UI code or externally via a named local socket. Dialogs created via socket are presumed to be info and may not be dismissed. When the client socket is closed, the dialog automatically dismisses. Initial implementation shows dialogs for adb backup and restore. Future work will show dialogs for all errors and lengthy operations. Change-Id: Icefea12ec0fd70fb487d54aa2eb1cae9dd451355
* | OMGRainbowsCEnnis912015-11-202-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No longer will we get bad reviews on CWM recovery for its lack of rainbows! Originally design by gweedo767, this patch brings back the wrap count mechanism from v2.0.2.4 to toggle Rainbow Mode for the user. In the original design, every character has a different color, but that method requires modifying graphics.c which will cause breakage in devices with custom graphics.c. This Rainbow Mode has a different color for each line, instead. The wrap_count has been set to 5 instead of the previous 3 so the toggle won't occur as often, if on accident. (port to CM12.1 by cyanogen) Change-Id: Ie9f6f1b6ed94ee69d4d8d9fe27f9a5417cc3f212 improve Rainbow Mode * Require 5 consecutive menu "wraps" in the same direction to help prevent accidental toggling * Align colors into stripes (i.e. columns) a) less prone to induce dizziness in some people when they change b) better resembles a rainbow * Move the stripes to the right when the selection moves up and move the stripes to the left when the selection moves down Change-Id: I3feae173b22f5703c554ca33e634881749ff54cf
* | recovery: Switch to clangTao Bao2015-11-071-0/+1
|/ | | | | | And a few trival fixes to suppress warnings. Change-Id: I38734b5f4434643e85feab25f4807b46a45d8d65
* Add drm support to minuiStéphane Marchesin2015-07-014-0/+484
| | | | | | | Bug: 22231636 Change-Id: I103c8e906b7dd9862b7bb89d8642268e9a3006b4 Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
* Check all lseek calls succeed.Elliott Hughes2015-04-291-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-132-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-115-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-101-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-101-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-295-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-131-0/+13
|\ | | | | | | | | * commit '0766cdf49acb77677864995e931eec391243505d': Support BGRA framebuffer
| * Support BGRA framebufferDaniel Leung2014-05-131-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-024-5/+266
|\ \ | |/ | | | | | | * commit 'e9f9238af83f949dc000667356eba025e1241a2f': recovery: minui: add adf backend
| * recovery: minui: add adf backendGreg Hackmann2014-04-254-5/+266
| | | | | | | | | | Change-Id: I1ad97b5b62bddbcb1104fa0b4e54415b793a4194 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | am 03008bc1: am aa4545b5: Merge "restore minui support for paletted images ↵Doug Zongker2014-03-201-1/+1
|\ \ | |/ | | | | | | | | | | with < 8 bits" * 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-171-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 ↵Doug Zongker2014-03-173-238/+242
|\ \ | |/ | | | | | | | | | | klp-modular-dev-plus-aosp * 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 ↵Colin Cross2014-02-061-1/+1
|\ \ | |/ | | | | | | | | | | errors turned on" * commit '2739ed9628f72813d213b7a429c4c1b8dcebe5fc': recovery: fix building with pointer-to-int errors turned on