aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ui: Add option to change touchscreen orientationHEADreplicant-6.0Wolfgang Wiedmeyer2017-07-112-0/+23
| | | | | | | | | On devices like the Galaxy Note 8.0, the touchscreen assumes portrait mode while the recovery is in landscape mode. Allowing to swap x and y dimension and flipping the x dimension makes the touchscreen usable on these devices. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* Don't assume that d_type works when browsing directoryWolfgang Wiedmeyer2017-06-161-2/+8
| | | | | | | For example, exfat always returns DT_UNKNOWN which makes it impossible to determine the file type using d_type. Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* increase button sizeWolfgang Wiedmeyer2017-06-142-0/+5
| | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* Merge branch 'cm-13.0' of ↵replicant-6.0-0001Wolfgang Wiedmeyer2017-05-022-4/+10
|\ | | | | | | https://github.com/LineageOS/android_bootable_recovery into replicant-6.0
| * Add a checker for signature boundary in verifierTianjie Xu2017-03-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'signature_start' variable marks the location of the signature from the end of a zip archive. And a boundary check is missing where 'signature_start' should be within the EOCD comment field. This causes problems when sideloading a malicious package. Also add a corresponding test. Bug: 31914369 Test: Verification fails correctly when sideloading recovery_test.zip on angler. CVE-2017-0475 Change-Id: I6ea96bf04dac5d8d4d6719e678d504f957b4d5c1 (cherry-picked from f69e6a9475983b2ad46729e44ab58d2b22cd74d0) (cherry picked from commit 54ea136fded56810bf475885eb4bd7bf1b11f09c) (cherry picked from commit 2c6c23f651abb3d215134dfba463eb72a5e9f8eb)
| * Rename process_key to ProcessKey115ek2017-02-131-4/+4
| | | | | | | | | | | | | | This fixes an undeclared indentifier error (maybe because function was renamed in the past...) Change-Id: I16b7d93182ed8c9efede3fbaff73d57d74732b4b (cherry picked from commit e946931ed6ec8df12c12ad249a2df8003e3a0a28)
* | Replicant brandingWolfgang Wiedmeyer2017-02-136-2/+2
|/ | | | Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
* recovery: Fix "Wipe data" wrong "System reset" namingAdrian DC2017-01-171-1/+1
| | | | | | | | | * Right now the "system reset" performs a data wipe, because the real system reset was moved to advanced by Ib9bc6967b98d022880cfe7fa8e324cd64b07d248 Change-Id: I302161ed757f449469ce05019f6bfe5b205c5800 (cherry picked from commit 41ed544fb8d6ad2626d5eb4c35c9bcb38e2aed8e)
* 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
* Fix log text placement.Danny Baumann2016-11-081-2/+2
| | | | | | | | | Commit I4b56db78d13931fdd79580b801260bdfca0e9726 intended to constrain the log to the lower quarter of the screen, but miscalculated the respective limit value. Also make sure to display the log starting from the last line. Change-Id: I87fb2f311ff312faeca8777559d46c1569f6b95f
* Mount internal sdcard when updating from osKay Arnesen2016-10-031-1/+23
| | | | Change-Id: Ib924fe17aef856963e69d4e3768ac37ac0362fd9
* recovery: Initialize menu_show_start_ to avoid crashnadlabak2016-06-201-0/+1
| | | | | | | When left uninitialized, wrong pointer to text may be passed from draw_screen_locked to draw_menu_item, causing segfault in gr_text. Change-Id: I932dd8c4d3d28afe82decc46f1f0af20586d88df
* Mount pstore filesystem while in recoveryVojtech Bocek2016-04-261-0/+2
| | | | | | | | | | * pstore filesystem is evolution of ram_console and contains kmsg from previous boot (previously in /proc/last_kmsg). * Lollipop init.rc does this. If device doesn't have pstore fs, it will simply be ignored Change-Id: Id3bf8763ccde54f87fde5cdf2db511649c376aa4 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Merge tag 'android-6.0.1_r30' into HEADJessica Wagantall2016-04-180-0/+0
|\ | | | | | | | | | | | | Ticket: RM-234 Android 6.0.1 release 30 Change-Id: I7c9e7094fc968a7a57cf0c7c4409f8a76cbe7863
| * Fix integer overflows in recovery procedure.Yabin Cui2016-02-261-15/+54
| | | | | | | | | | | | Bug: 26960931 Change-Id: Ieae45caccfb4728fcf514f0d920976585d8e6caf (cherry picked from commit 4f2df162c6ab4a71ca86e4b38735b681729c353b)
* | recovery: Add wipe system partition optionMichael Bestas2016-04-053-0/+21
| | | | | | | | Change-Id: Id606cef249a7464037443de6265055803c290d82
* | Merge tag 'android-6.0.1_r24' into HEADJessica Wagantall2016-04-051-14/+53
|\ \ | | | | | | | | | | | | | | | | | | Ticket: CYNGNOS-2213 Android 6.0.1 release 24 Change-Id: If49bb48c41ce36a2fcd4b7dcc6393e1e2b3c27a1
| * \ merge in mnc-dr1.5-release history after reset to mnc-dr1.5-devThe Android Automerger2016-03-220-0/+0
| |\ \
| | * \ merge in mnc-dr1.5-release history after reset to mnc-dr1.5-devThe Android Automerger2016-03-170-0/+0
| | |\ \ | | |/ / | |/| |
| * | | Fix integer overflows in recovery procedure.Yabin Cui2016-03-011-15/+54
| |/ / | | | | | | | | | | | | | | | Bug: 26960931 Change-Id: Ieae45caccfb4728fcf514f0d920976585d8e6caf (cherry picked from commit 4f2df162c6ab4a71ca86e4b38735b681729c353b)
* | | ui: Also detect KEY_HOMEMichael Bestas2016-03-281-1/+1
| | | | | | | | | | | | | | | | | | * KEY_HOME is used in a lot of devices instead of KEY_HOMEPAGE Change-Id: I18ec415b4d7e5e1f97a88640b820c64dbc8bb634
* | | recovery: Only set relevant sysbar state flagsTom Marshall2016-03-143-3/+15
| | | | | | | | | | | | Change-Id: I9fc0fa29299610865f622dc296bdadff59d74447
* | | 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
| * | am 838768ca: am 15da523e: am 3c7f655b: (-s ours) am 0e804d54: am d396b9db: ↵Narayan Kamath2015-09-160-0/+0
| |\ \ | | |/ | | | | | | | | | | | | | | | am 710b6bb9: am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE * commit '838768ca57d087025dbd31587ee895150bca9e10': Track usage of Vector / SortedVector from libutils DO NOT MERGE
| * | recovery: Fix the bug that truncates menu entries.Tao Bao2015-09-021-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are 20 entries (like 10 last_log* and 10 last_kmg* in "view recovery logs"), there's no "Back" entry. Because the number of entries (21) exceeds text_rows (20) in WearRecoveryUI::StartMenu(). Since we have scrollable menu, having more entries than text_rows won't be an issue. Bug: 23752519 Change-Id: I12573d7a34852a1a3d130c9e88522cee737eb08f
| * | recovery: Factor out wear_ui.{cpp,h} into bootable/recovery.Tao Bao2015-08-243-0/+788
| | | | | | | | | | | | | | | | | | | | | | | | | | | Every watch has a (mostly identical) copy of the wear_ui. Factor them out into a single copy for easier maintenance. Device-specific settings should be defined in recovery_ui.cpp that inherits WearRecoveryUI class. Bug: 22451422 Change-Id: Id07efca37d1b1d330e6327506c7b73ccf6ae9241
* | | recovery: bu: Make 64-bit cleanTom Marshall2016-03-081-3/+3
| | | | | | | | | | | | | | | | | | Use lseek64 to determine file/block sizes Change-Id: I5ae7b11d6cb612c84cb4be29d0e3fe1493b8e844
* | | recovery: Implement sysbarTom Marshall2016-03-0728-17/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a system bar (navigation bar) similar to the main Android system with back and home buttons. This makes it easier for users to figure out how to go back on devices that lack hardware buttons, and also provides a quick way to get back to the main menu. Note only buttons that do not have a hardware equivalent are shown, in order to prevent redundancy and confusion. Change-Id: I7538749978837571a8c250c3c8e54ac127b39d84
* | | recovery: handle back button when navigating recovery logsScott Mertz2016-02-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fixes the crash when a user presses a hardware back button instead of the on screen menu item. OPO-521 Change-Id: I579d2720cdf7256a269358d037582121425d7c25
* | | recovery: Remove empty header lineTom Marshall2016-02-151-1/+0
| | | | | | | | | | | | Change-Id: I15d5dc734adba58ca4d44a5818c23115481e0470
* | | recovery: don't override selinux for cache partitionPat Erley2016-02-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out, file names starting with @ are on the cache partition and we don't want to remount it overriding the selinux context. OPO-428 Change-Id: I661a590c3c70d75a1255b25debad3f2cbeee59e8
* | | recovery: User recovery shouldn't allow mounting systemPat Erley2016-02-111-0/+4
| | | | | | | | | | | | | | | | | | OPO-489 Change-Id: I157116fdc7c85a42ce3c978b52f949e3cbc25b31
* | | sr: Deep rainbow integrationSteve Kondik2016-02-081-0/+2
| | | | | | | | | | | | | | | | | | | | | * Some devices may want to react in new and innovative ways to the invocation of rainbow mode. Allow for this deep integration. Change-Id: I088487e42b71ebfa80ca3976be328f0336ec0805
* | | recovery: mount without selinux for updatePat Erley2016-02-081-0/+2
| | | | | | | | | | | | | | | | | | | | | Mount the partition that is storing the OTA with an override so that recovery can read it. Change-Id: Ib87f27d4ca95f1a44de0477198c1de00552c0a8a
* | | recovery: rename remount_for_wipePat Erley2016-02-082-4/+4
| | | | | | | | | | | | | | | | | | We need to re-use this to get read access to OTA files. Change-Id: Iaab91150ff30422f25139372c5cd9076f1670bd3
* | | recovery: Minimize headers for "Apply update" menusTom Marshall2016-02-081-2/+2
| | | | | | | | | | | | | | | | | | | | | The touch UI takes 3 text lines per menu item, so minimize header text to compensate. Change-Id: I468f404e1a3de6ef9dee63301bb050b64f8de211
* | | recovery: Show menu headersTom Marshall2016-02-083-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | Most headers in recovery aren't very useful and so have historically not been shown in the touch UI. But certain headers, such as those shown by yes_no(), should be shown. Change-Id: I8536c528d3b4b4fd6d506ecef25378149b4e9746
* | | 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>
* | | recovery: Remove insecure wipe from menu on user buildsPat Erley2016-02-052-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | This would allow people who gain access to a pin-locked device to remove the pin and gain access to media. This will still allow wipes from Android to preserve media. Change-Id: I73bc9d176297081a41c8d29fc77638d665442fe8
* | | recovery: Fix dependenciesTom Marshall2016-02-041-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do not require recovery binary to make toybox symlinks. It is not necessary and provokes a circular dependency warning from make. * Do not declare toybox symlinks and bu_recovery as additional dependencies when in one-shot mode. This allows incremental rebuilding of the recovery binary. Change-Id: I5ba815ebd4ce5981f8be316ec5ab77272ff565cc
* | | recovery: Offer to format if data wipe failsTom Marshall2016-02-042-2/+16
| | | | | | | | | | | | Change-Id: I76587c4fa234c5aab52882492da295e70029f522
* | | recovery: Menu rewrites and cleanupsTom Marshall2016-02-043-43/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce a menu stack for navigating sub-menus. The menu data structure format is a bit messy, but necessary in order to provide a string list for the ui. * Create "advanced" sub-menu for rarely used and dangerous commands. * Create "factory reset" sub-menu for various reset and wipe commands. * Separate "wipe data" and "factory reset" items. Change-Id: Ib9bc6967b98d022880cfe7fa8e324cd64b07d248
* | | recovery: Fix media wipePat Erley2016-02-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | During the Android 6 rebase, the 'm' options was missed in the getopt handler, breaking the ability to do a full wipe triggered from inside of Android. CYNGNOS-1817 Change-Id: Ic88006abd18cc83dd4a9d7917f34d6c6c8115538
* | | recovery: Fix mount_for_wipePat Erley2016-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | During a rebase, a line was dropped that shouldn't have been. CYNGNOS-1747 Change-Id: I9c9729ba11599baad267d3769685124b422033f8
* | | recovery: Fix recursive rm wipe of dataPat Erley2016-01-282-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android 6 re-introduced MCS/MLS SELinux contexts. Unforunately, this broke our previous SELinux model for walking /data and unlinking everything but media. Fix this by mounting /data with a temporary SELinux context that works with the previous model. Ticket: CYNGNOS-1747 Change-Id: Id87ad3bb357102c3a8bd7c1417183d788ef858a0
* | | sr: Add performance controlSteve Kondik2016-01-213-5/+26
| | | | | | | | | | | | | | | | | | * Crank it up when installing Change-Id: I997d937901ff446834e6c479aaf629bee51de388
* | | recovery: Enable the menu for User buildsPat Erley2016-01-051-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | Upstream recovery doesn't provide a menu for non ENG/UserDebug builds. OPO-321 Change-Id: I01b285a40287be4147d15a70b91ad17a3c93da68
* | | imgdiff: skip spurious gzip headers in image filesDavid Riley2015-12-281-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dragon kernel is compressed via lz4 for boot speed and bootloader support reasons and recent prebuilts happen to include the gzip header sequence which is causing imgdiff to fail. Detect a spurious gzip header and treat the section as a normal section. Bug: 26133184 Change-Id: I369d7d576fd7d2c579c0780fc5c669a5b6ea0d3d (cherry picked from commit 0f2f6a746af517afca9e5e089a4a17be0a9766d6) Signed-off-by: David Riley <davidriley@google.com>
* | | recovery: fstools: Honor TARGET_USES_EXFATTom Marshall2015-12-162-7/+15
| | | | | | | | | | | | Change-Id: I0e02ce2501cea8e7620fc3afe2d996ab98d32f60