Commit Graph

3107 Commits

Author SHA1 Message Date
Treehugger Robot df464dbe79 Merge "minui: Save errno before calling close()." 2017-02-09 23:17:59 +00:00
Tao Bao f04592ba23 minui: Save errno before calling close().
Otherwise errno would be overwritten when calling close(2).

Test: mmma bootable/recovery
Change-Id: I661e46b1b040f550639a728aa2683e91621b4307
2017-02-09 12:59:19 -08:00
Treehugger Robot 5121961421 Merge "minui: Clean up graphics_fbdev.cpp." 2017-02-09 20:31:02 +00:00
Tao Bao d592e1d5e1 Merge "minui: Clean up graphics_adf.cpp." 2017-02-09 20:07:09 +00:00
Treehugger Robot 648f252c71 Merge "minui: Clean up graphics_drm.cpp." 2017-02-09 19:43:20 +00:00
Tao Bao 76be34cb34 minui: Clean up graphics_drm.cpp.
Remove unneeded header includes. Switch a few memset() to '= {}'
style. Otherwise mostly cosmetic changes like reformatting.

Test: 'Run graphics test' on ryu (which is a DRM device).

Change-Id: I4b0ab2dc0da69a690f09e4f0674b8377de662962
2017-02-07 14:47:59 -08:00
Tao Bao acf4dd157a minui: Clean up graphics_fbdev.cpp.
Remove unneeded header includes. Otherwise mostly cosmetic changes like
reformatting.

Test: 'Run graphics test' on bullhead (which uses fbdev).

Change-Id: I9b92c96128fa332ac940f73764f9c5fc93ff6c8c
2017-02-07 14:46:31 -08:00
Tao Bao 8f0e21b271 minui: Clean up graphics_adf.cpp.
Remove unneeded header includes. Switch a few memset() to '= {}' style.
Otherwise mostly cosmetic changes like reformatting.

Test: 'Run graphics test' on N9 (which is an ADF device).

Change-Id: If008af18ddae9521f53216b581d882d5eed76d41
2017-02-07 13:20:55 -08:00
Treehugger Robot 95bcbfdd4e Merge "Replace _exit(-1) with _exit(EXIT_FAILURE)." 2017-02-03 23:40:06 +00:00
Tao Bao 3da880156b Replace _exit(-1) with _exit(EXIT_FAILURE).
-1 is not a valid exit status.

Also replace a few exit(1) with exit(EXIT_FAILURE).

Test: mmma bootable/recovery
Change-Id: I4596c8328b770bf95acccc06a4401bd5cabd4bfd
2017-02-03 14:11:11 -08:00
Treehugger Robot 0f275ae56e Merge "Avoid to call UI functions in child process" 2017-02-03 22:06:50 +00:00
Tianjie Xu c44c479197 Merge "update_verifier should read dm wrapped partition" 2017-02-03 21:50:07 +00:00
Tao Bao b04bc0540d Merge "minui: Minor clean up to graphics.cpp." 2017-02-03 20:48:47 +00:00
Tianjie Xu ab1abae59c Avoid to call UI functions in child process
ui_print uses a mutex to protect the critical section. And a forked
child process may intialize the mutex inappropriatly, which leads to a
hanging child process. So we shall avoid to call the UI functions in
child process.

Bug: 34769056
Test: fake ota on fugu failed as expected due to updater format mismatch.
Change-Id: I81bc942a796878fac19cf712512092c2b0d807c9
2017-02-03 20:35:40 +00:00
Tao Bao e8020f4fa3 minui: Minor clean up to graphics.cpp.
Remove unneeded header includes.

Remove the dead code in gr_test() (already commented out). Similar tests
have been covered by the "Run graphics test" from recovery menu.

Test: mmma -j32 bootable/recovery
Change-Id: If977c1b780602f5c5054469a3dae4fd85f34ab1a
2017-02-03 09:33:36 -08:00
Tao Bao 7f38fbf976 Merge "Fix a log issue in ui.cpp." 2017-02-01 16:39:13 +00:00
Tao Bao 8eec37330b Fix a log issue in ui.cpp.
It's a copy/paste error when addressing reviewer's comment for commit
6278bdf349.

Test: recovery gives the right message (e.g. "Permission denied") when
      it fails to read max_brightness.

Change-Id: I10372c82595bdc00a6f6725f036c02721b19a1aa
2017-01-31 21:27:27 -08:00
Tao Bao 7ab9c3812d Merge "bootable/recovery: cleanup compiler warnings (potential leak of memory)" 2017-02-01 05:10:15 +00:00
Tao Bao 389a29193c Merge "recovery: Add screensaver mode." 2017-01-31 06:11:37 +00:00
Tao Bao 6278bdf349 recovery: Add screensaver mode.
While it's waiting for user input, dim or turn off the backlight to
avoid OLED burn-in. The backlight brightness will be reduced after the
first timeout (default 120s), and then turned off after the second.
Pressing any key will take it back to the normal brightness. While the
display is off, the first key input will only turn on the backlight.

The most common case that triggers the screensaver is under text mode,
such as waiting for menu selection or viewing recovery logs.

This CL doesn't change the brightness while it's installing updates or
performing wipes under UI mode.

When it encounters any install error under UI mode (user builds):
 - If it's NOT USB connected, it will reboot automatically after the
   first timeout (same as before);
 - If it's USB connected, it will dim and turn off the display per the
   change in this CL.

Bug: 34077703
Test: Boot a device with the new recovery image. Wait for timeout.

Change-Id: I0c14907e60340a7f037adb6e464942d099ada08b
2017-01-30 16:12:30 -08:00
Tianjie Xu b0ac872014 update_verifier should read dm wrapped partition
update_verifier used to read from system_block_device, which bypasses
dm-verity check completely. Switch update_verifier to read the corresponding
'/dev/block/dm-X' instead. U_v gets the verity block device number by
comparing the contents in '/sys/block/dm-X/dm/name'.

Bug: 34391662
Test: update_verifier detects the corrupped blocks and dm-verity trigger the reboot on Sailfish.
Change-Id: Ie5c50c23410bd29fcc6e733ba29cf892e9a07460
2017-01-26 11:08:03 -08:00
Alex Deymo 56ff8061b1 Merge "Remove '_static' suffix from libext2* references." 2017-01-25 23:48:43 +00:00
Treehugger Robot c8f7b5bad7 Merge "Use flash erase & logical block size for userdata wipe" 2017-01-25 04:14:00 +00:00
Connor O'Brien 98a658bb54 Use flash erase & logical block size for userdata wipe
If flash erase and logical block size are available, then pass them
to libext4_utils when rebuilding userdata.

Test: Factory reset marlin in recovery, confirmed params passed correctly
Bug: 33243520
Change-Id: I6bed976a73e7a64a80eaac50f48fbacb6d812517
Signed-off-by: Connor O'Brien <connoro@google.com>
2017-01-24 18:04:02 -08:00
Tao Bao a476312714 Merge "minui: Move callback functions to std::function." 2017-01-25 00:49:48 +00:00
Tao Bao 42906e06b3 Merge "update_verifier: Move property_get() to android::base::GetProperty()." 2017-01-24 23:37:22 +00:00
Tao Bao 90deaf9ab7 Merge "Print with newline for ui_print." 2017-01-24 04:54:52 +00:00
Alex Deymo 7c5dbd6751 Remove '_static' suffix from libext2* references.
Bug: 34220783
Test: make checkbuild
Change-Id: Iceea20e440a4bb6a3b254486a65a86401a2241ef
2017-01-23 15:18:29 -08:00
Chris Phoenix cf1af460d5 Merge "bootctrl HAL uses "default" service name" 2017-01-23 20:48:32 +00:00
Tianjie Xu c1df344381 Merge "Restore the max width for recovery background texts" 2017-01-23 20:37:12 +00:00
Tao Bao 0b1118d6b9 minui: Move callback functions to std::function.
Also make minor clean up to the header includes.

Test: mmma bootable/recovery system/core/healthd system/extra/slideshow
Change-Id: I3bfcf2c0e203c26a98ee08f1f8036c68356a69fd
2017-01-23 16:59:56 +00:00
Tianjie Xu 0f7031e295 Restore the max width for recovery background texts
Restore the max width to 900px for xxhdpi and 1200px for xxxhdpi

Bug: 34541299
Test: Checked width and images passed recovery_manual_test
Change-Id: If0fd51f93cfb3f965d4e9e69be5626eba89eb857
2017-01-22 18:46:04 -08:00
Tao Bao f013642477 Print with newline for ui_print.
Currently the ui_print command between the recovery and updater doesn't
append newline. Updater has to send an extra "ui_print" command without
any argument to get the line break. This looks unnecessary. And not all
the callers (including the ones in bootable/recovery) are following this
protocol when sending the ui_print command.

This CL simplifies the protocol to always print with a newline for
ui_print command. When updating from an old recovery with the new
updater, all the ui_print'd strings would appear in one line as a side
effect. But a) it would only affect the text-mode UI, which won't be
shown to users; b) log files won't be affected.

Bug: 32305035
Test: Apply an update with the new updater on top of an old and new
      recovery image respectively.
Change-Id: I305a0ffc6f180daf60919cf99d24d1495d68749b
2017-01-21 20:43:45 -08:00
Chris Phoenix 0157c78674 bootctrl HAL uses "default" service name
The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.

Test: builds; verify HAL still works

In support of b/33844934

Change-Id: I5ce988128b0471384e1472298a0ae383df2b7c3e
Merged-In: I86c44aaaaf663e774c631a469ebf2b81619f89c4
2017-01-20 14:17:10 -08:00
Tao Bao 4f8d217971 update_verifier: Move property_get() to android::base::GetProperty().
Also make minor changes to android::base::ParseUint(), which accepts
std::string now.

Test: Flash an A/B device and make sure update_verifier works (by
      marking the active slot as successfully booted).

Change-Id: Id6e578671cb3c87160c2b6ca717ee618ecf2342a
2017-01-20 12:19:23 -08:00
Tao Bao e78ca37656 Merge "imgpatch: Compile with ZLIB_CONST defined." 2017-01-20 20:15:57 +00:00
Tao Bao 087bc0c7d3 imgpatch: Compile with ZLIB_CONST defined.
So z_stream.next_in takes pointer to const data.

Test: mmma bootable/recovery/applypatch
Change-Id: If269b766a7c84fa2f67424ee61ba5afab0159261
2017-01-20 12:13:28 -08:00
Sen Jiang 37bda6a004 Merge "imgdiff: cache bsdiff suffix array in zip mode." 2017-01-19 20:45:27 +00:00
Tianjie Xu 69e73ab7a9 Merge "Add checkers and tests for empty locale in PNG file" 2017-01-19 19:17:18 +00:00
Tianjie Xu d17a688525 Add checkers and tests for empty locale in PNG file
match_locale() will return false for empty locale string in the PNG
file. Also add a manual test to validate if a PNG file is qualified to
use under recovery.

Bug: 34054052
Test: recovery_manual_test catches invalid PNG files successfully & Locale_test passed

Change-Id: Id7e2136e1d8abf20da15825aa7901effbced8b03
2017-01-18 19:37:06 -08:00
Sen Jiang 930edb6661 imgdiff: cache bsdiff suffix array in zip mode.
In zip mode, if a chunk is not deflate or its filename can't be found
in source chunks, the entire source file is used as old data for bsdiff,
To avoid repeatedly construct the suffix array used by bsdiff, we cache
the suffix array of the entire source file.

Bug: 34281147
Test: =time -v imgdiff -z Chrome-ORF74B.apk Chrome-ORF76B.apk Chrome.imgdiff
Change-Id: Ifd957ccecf7226fcb44dbf28c58969a06ef74f4b
2017-01-18 17:26:42 -08:00
Tao Bao 13d15af08f Merge "minui: Export minui/minui.h." 2017-01-17 19:08:48 +00:00
Tao Bao 0ecbd76b22 minui: Export minui/minui.h.
For libminui static and shared libraries.

Test: build
Change-Id: Ib30dc5e2ef4a3c8b3ca3a0cec68cb65e229a0c16
2017-01-16 21:28:18 -08:00
Tao Bao ebb4e96a71 Merge "recovery: Move property_get() to android::base::GetProperty()." 2017-01-14 15:37:01 +00:00
Tianjie Xu f0af02fea6 Merge "Update background text images in recovery" 2017-01-13 23:02:17 +00:00
Tao Bao efc35594dd recovery: Move property_get() to android::base::GetProperty().
Test: Apply two A/B incremental OTAs with the new recovery image. The
      one with incorrect pre-build should be blocked, while the other
      works fine.

Change-Id: I94d97eb8798599da1630f66343fb603e87464187
2017-01-13 12:08:34 -08:00
Alex Deymo 8031c2d2bb Merge changes from topic 'host_suffix_cleanup'
* changes:
  Remove "_static" suffix from libsparse
  Remove "_static" suffix from libext4_utils.
2017-01-12 21:23:10 +00:00
Alex Deymo 67f3aa8804 Remove "_static" suffix from libsparse
Bug: 34220783

Change-Id: I358f931f0b29f5bd526e1475180e477e2e90b936
2017-01-11 14:38:30 -08:00
Alex Deymo 31653660ad Remove "_static" suffix from libext4_utils.
Bug: 34220783
Change-Id: I34ccc3b11da0d1b48805967ad75b9ddade569930
2017-01-11 14:02:13 -08:00
Tianjie Xu 37d74f3e20 Merge "Do not inject I/O fault on a retry" 2017-01-10 19:00:15 +00:00