Commit Graph

9577 Commits

Author SHA1 Message Date
Sami Tolvanen 78615fa50b Merge "Error correction: Use libfec in blockimg.cpp for recovery" 2015-10-19 17:03:04 +00:00
Sami Tolvanen 0a7b47397d Error correction: Use libfec in blockimg.cpp for recovery
Add block_image_recover function to rewrite corrupted blocks on the
partition. This can be attempted if block_image_verify fails.

Note that we cannot use libfec during block_image_update as it may
overwrite blocks required for error correction. A separate recovery
pass in case the image is corrupted is the only viable option.

Bug: 21893453
Change-Id: I6ff25648fff68d5f50b41a601c95c509d1cc5bce
2015-10-19 10:04:38 +01:00
Ethan Yonker b7a54a3016 Allow text to scale to fit
Change-Id: Iacd4bb78f551b51d092ecde09521b5541e7dadcd
2015-10-16 22:57:35 +02:00
Ethan Yonker 11309e912d Union sepolicy within TWRP to make SELinux permissive
This patch set should make it easier to build TWRP in non-Omni
trees as it allows TWRP to modify the sepolicy instead of having
to merge a patch in external/sepolicy to meet TWRP's needs.

Change-Id: I73205343556abb0852ff4c5f8cbf293d840b95d9
2015-10-16 22:49:19 +02:00
that 8ab5c13428 gui: support conditions for listbox items
Change-Id: Iea189ac53ec3d7c1bea83da7b77684778b1c0f46
2015-10-16 15:40:31 -05:00
that 20fb95d0a7 gui: extract methods for condition list handling
This is a preparation for list item conditions.

Change-Id: Iec731d1986a53b0362c534adf504dfe8db87d3f0
2015-10-16 22:33:15 +02:00
Ethan Yonker 56ce332315 Allow listbox to have a list of check boxes
For an example of how to implement a list of check boxes, see:

http://bit.ly/1Giacw2
https://gerrit.omnirom.org/#/c/14284/2/

Change-Id: I0752a084625f4a0ef8cc6d99597f2fb9aa2ab9e0
2015-10-16 15:30:51 -05:00
Ethan Yonker 561c58de19 Use unified LoadFileToBuffer function
Create a single function for loading xml files to a memory buffer
to reduce code duplication.

Change-Id: I0ff64463072118f61a2eb8052f74019715020253
2015-10-16 15:23:56 -05:00
Ethan Yonker 88037f476f Remove support for non-TTF fonts
This patch set removes support in TWRP for the old .dat file
format as well as support for the AOSP style fonts in header
files. We need TTF for scaling.

Note that the old AOSP style header font is still supported in
minui which is not used by TWRP.

Change-Id: I6124a3333d479f1fc668138f7e32c4be9b519552
2015-10-15 09:23:39 -05:00
Ethan Yonker 068c76888b Fix up twrpTar
Change-Id: I11a8f77b39a6f12aca6157c9aa76c34ef48c4b9f
2015-10-15 16:15:09 +02:00
that 5064048ec3 Improve error handling for zip install
- minzip: don't crash with corrupted zips (e.g. 4096 null bytes)
- twinstall: output error when zip doesn't contain update-binary
- twinstall: add strerror(errno) to system-level errors
- twinstall: correct message if /file_contexts could not be extracted
- twinstall: use TWFunc::Wait_For_Child for better waitpid errors
- twinstall: minor code cleanup

Change-Id: I53b156b0ec08755af2742bb71d1523ae38f4a82e
2015-10-15 16:10:53 +02:00
Ketut Putu Kumajaya f13b893c2c Unicode for temperature
Change-Id: Ie86dc63f83ae51e9947debc7191fd91d61b83008
2015-10-15 16:10:26 +02:00
Captain Throwback 999219d763 Update CUSTOM_LUN_FILE from AOSP USB config
AOSP has used a standard USB config for the last 3 years.
Time to update TWRP for devices that still use UMS.

Reference: https://android.googlesource.com/platform/system/core/+/master/rootdir/init.usb.rc

Change-Id: I59690f955a7d6db9ae9d607d46299652b52fe8b8
2015-10-15 16:09:02 +02:00
HandyMenny 37d42994cd Properly set sys.usb.config when ums is enabled.
Use sys.usb.config also for ums, but leave sys.storage.ums.enabled for compatibility with custom init.rc that use it.

PS2: Rebased - moved updates to init.recovery.usb.rc

Change-Id: Iad3441d23ac37612e58f63e4038d05c5c1a37b25
2015-10-15 16:04:16 +02:00
Davis Mosenkovs b909aae78f Fix minor interface bug: No-SU prompt after no-OS prompt
When /system is wiped in TWRP and afterwards Reboot -> Recovery is selected the "No OS is installed, are you sure you want to reboot?" prompt appears. After swiping to "Reboot anyway" the "Current ROM is not rooted, do you wish to install SuperSU?" prompt appears.
This change removes "Do you wish to install SuperSU" prompt after "No OS installed" prompt.

Change-Id: Ie1157afdf5cf1cb81d6647269172d6e63af9f4b0
2015-10-14 21:19:08 +02:00
Kra1o5 7756859abe Add support for RGBA_8888 pixel format
Change-Id: Ia15d49e51cad5bc8a3291975e1ff515a2b1c419c
2015-10-14 13:32:03 -05:00
Ethan Yonker a59da09dd8 Add qcom overlay graphics support to minui
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
2015-10-14 20:16:12 +02:00
Ethan Yonker e96182e052 Add 16bpp support to minui
Change-Id: I9a9ba6ccbef999b1a4b122e45f862bd3672b5047
2015-10-13 19:33:16 -05:00
Hashcode 7246b5d9e3 mtdutils: add include to fix implicit function warning
Including unistd.h fixes implicit function warning for "read" and "close"
in mtdutils/mounts.c

Change-Id: I72c3a52de035600cdd794ed5e2d4cae0da26f428
2015-10-13 12:47:13 -07:00
that 0579114c33 fix build in Android 4.4 (tested with Omni)
Change-Id: I781928483585052741fe1396bd9b136e61ca6538
2015-10-10 16:02:06 +02:00
that 8a1080e9e6 Revert "Use getmntent when accessing /proc/mounts."
This reverts commit a382e2bdb2.

getmntent is not implemented in older Bionic versions.

Change-Id: I277dae9e4fd83f08de8099e856e8d8f45e39239d
2015-10-10 16:01:57 +02:00
Ethan Yonker 5235f5550b Fix mkfs.f2fs error in 6.0 trees
Change-Id: I1217094f0e336445eb4dd5f46242d9719525ffbd
2015-10-09 14:46:47 -05:00
Ethan Yonker c798c9cd24 Merge up to AOSP marshmallow-release
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
2015-10-09 11:15:29 -05:00
Tao Bao e228541fca am 4c6c96a5: am 245b2da1: am 754ebaa9: Merge "updater: Skip empty lines in the transfer list file."
* commit '4c6c96a59566e8e876cc803be84c16d3f04f31d4':
  updater: Skip empty lines in the transfer list file.
2015-10-01 00:05:23 +00:00
Tao Bao 4c6c96a595 am 245b2da1: am 754ebaa9: Merge "updater: Skip empty lines in the transfer list file."
* commit '245b2da1711db8a9b8e333395d68235df5163483':
  updater: Skip empty lines in the transfer list file.
2015-09-30 23:59:57 +00:00
Tao Bao 245b2da171 am 754ebaa9: Merge "updater: Skip empty lines in the transfer list file."
* commit '754ebaa90a3e11012e2456013e69b34a30272c4a':
  updater: Skip empty lines in the transfer list file.
2015-09-30 23:44:35 +00:00
Tao Bao 754ebaa90a Merge "updater: Skip empty lines in the transfer list file." 2015-09-30 23:29:11 +00:00
Yabin Cui 089f41b514 am 6eb2668d: am aa59a989: am 4b66a280: Merge "minadbd: use strdup() to create argument for sideload thread."
* commit '6eb2668de1afca57b7c64532f98f84b7fcec1f60':
  minadbd: use strdup() to create argument for sideload thread.
2015-09-30 20:24:23 +00:00
Yabin Cui 6eb2668de1 am aa59a989: am 4b66a280: Merge "minadbd: use strdup() to create argument for sideload thread."
* commit 'aa59a9898824c39cad3f1a1dde5fc4c8ceeabb40':
  minadbd: use strdup() to create argument for sideload thread.
2015-09-30 20:16:54 +00:00
Yabin Cui aa59a98988 am 4b66a280: Merge "minadbd: use strdup() to create argument for sideload thread."
* commit '4b66a280d314ab5aeb5027fe5b0023ae1f25ecca':
  minadbd: use strdup() to create argument for sideload thread.
2015-09-30 20:10:51 +00:00
Yabin Cui 4b66a280d3 Merge "minadbd: use strdup() to create argument for sideload thread." 2015-09-30 17:43:59 +00:00
Yabin Cui c8a3c80603 minadbd: use strdup() to create argument for sideload thread.
So sideload thread will not use argument which is to be freed
in the main thread.

Bug: 23968770
Change-Id: I9d6dadc6c33cfbe4b5759382a80fe14cd0d54355
2015-09-29 18:09:34 -07:00
Tao Bao 6a47dffde5 updater: Skip empty lines in the transfer list file.
We have the last line being empty as a result of
android::base::Split("a\nb\n"), which leads to "missing command"
warnings in the update. Just skip all the empty lines.

Bug: 24373789
Change-Id: I5827e4600bd5cf0418d95477e4592fec47bbd3a9
2015-09-25 17:12:28 -07:00
Tao Bao 6b3b220066 am d7156748: am f61eec3e: am 2bdac629: Merge changes Ic769eafc,I63f28b3b
* commit 'd715674899b9026ce5f5c653dc218fc7b67f9c7b':
  updater: Use android::base::ParseInt() to parse integers.
  Suppress some compiler warnings due to signedness.
2015-09-25 19:00:27 +00:00
Tao Bao d715674899 am f61eec3e: am 2bdac629: Merge changes Ic769eafc,I63f28b3b
* commit 'f61eec3e2db4e0e9bfa37cff23e5e05c92384e83':
  updater: Use android::base::ParseInt() to parse integers.
  Suppress some compiler warnings due to signedness.
2015-09-25 18:39:26 +00:00
Tao Bao f61eec3e2d am 2bdac629: Merge changes Ic769eafc,I63f28b3b
* commit '2bdac629f1d109dc79370edec8a31e20fbbe384c':
  updater: Use android::base::ParseInt() to parse integers.
  Suppress some compiler warnings due to signedness.
2015-09-25 18:32:55 +00:00
Tao Bao 2bdac629f1 Merge changes Ic769eafc,I63f28b3b
* changes:
  updater: Use android::base::ParseInt() to parse integers.
  Suppress some compiler warnings due to signedness.
2015-09-25 18:28:10 +00:00
Tao Bao b15fd224ed updater: Use android::base::ParseInt() to parse integers.
Change-Id: Ic769eafc8d9535b1d517d3dcbd398c3fd65cddd9
2015-09-24 12:14:37 -07:00
Tao Bao 5701d5829d Suppress some compiler warnings due to signedness.
Change-Id: I63f28b3b4ba4185c23b972fc8f93517295b1672a
2015-09-24 11:06:58 -07:00
Yabin Cui 00ba4c2837 am 7c7d876d: am f7319f4d: am 3317d501: Merge "minadbd: move from D() to VLOG()."
* commit '7c7d876d152e27a5b15617f9e907e18314f08fa5':
  minadbd: move from D() to VLOG().
2015-09-23 23:26:55 +00:00
Yabin Cui 7c7d876d15 am f7319f4d: am 3317d501: Merge "minadbd: move from D() to VLOG()."
* commit 'f7319f4dbd04f72a53f5ad313794ade240530406':
  minadbd: move from D() to VLOG().
2015-09-23 23:20:55 +00:00
Yabin Cui f7319f4dbd am 3317d501: Merge "minadbd: move from D() to VLOG()."
* commit '3317d5017963684cdbf4573d6cc6c0ff4cee0869':
  minadbd: move from D() to VLOG().
2015-09-23 23:11:11 +00:00
Yabin Cui 3317d50179 Merge "minadbd: move from D() to VLOG()." 2015-09-23 23:05:32 +00:00
Yabin Cui 7c913e5faa minadbd: move from D() to VLOG().
Change-Id: I542e2ae8f5ef18b2d6b3dbc1888b3ce1e02a7404
2015-09-23 16:04:41 -07:00
Tao Bao 2911c2d3ec am c66b9ead: am cd3c8c4e: am b739a32b: Merge "recovery: Add timestamps in update logs."
* commit 'c66b9ead27cdcdd94184a7c16e13369d4e62eb4d':
  recovery: Add timestamps in update logs.
2015-09-18 04:15:57 +00:00
Tao Bao c66b9ead27 am cd3c8c4e: am b739a32b: Merge "recovery: Add timestamps in update logs."
* commit 'cd3c8c4eacbab792e2144b4b71ace63100ff792a':
  recovery: Add timestamps in update logs.
2015-09-18 04:11:40 +00:00
Tao Bao cd3c8c4eac am b739a32b: Merge "recovery: Add timestamps in update logs."
* commit 'b739a32b7c32279da4d5ac55601f06bc5c81f1d5':
  recovery: Add timestamps in update logs.
2015-09-18 04:03:50 +00:00
Tao Bao b739a32b7c Merge "recovery: Add timestamps in update logs." 2015-09-18 03:55:50 +00:00
Tao Bao 04ca426362 recovery: Add timestamps in update logs.
Fork a logger process and send over the log lines through a pipe.
Prepend a timestamp to each line for debugging purpose. Timestamps are
relative to the start of the logger.

Example lines with the change in this CL:

[  445.948393] Verifying update package...
[  446.279139] I:comment is 1738 bytes; signature 1720 bytes from end
[  449.463652] I:whole-file signature verified against RSA key 0
[  449.463704] I:verify_file returned 0

Change-Id: I139d02ed8f2e944c1618c91d5cc43282efd50b99
2015-09-17 10:57:31 -07:00
Narayan Kamath cf91e14f1c am 53cfad08: (-s ours) am cde72079: am 838768ca: am 15da523e: am 3c7f655b: (-s ours) am 0e804d54: am d396b9db: am 710b6bb9: am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit '53cfad08cef87b7e81c664384ce971bc3df829df':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-17 02:54:57 +00:00