Commit graph

5721 commits

Author SHA1 Message Date
Zhomart Mukhamejanov
0b54d77832 Merge "updater_sample: Improve UpdateConfig"
am: af5958818a

Change-Id: Ia8fd285ece0dec638273abf3c531fbd1c052becb
2018-05-01 12:10:32 -07:00
Zhomart Mukhamejanov
5c119482b3 Merge "updater_sample: add FileDownloader" 2018-05-01 19:08:59 +00:00
Zhomart Mukhamejanov
93535dd033 updater_sample: add FileDownloader
Test: unit tests

Change-Id: I10933e7172d7ebc34c7cf5e4274625d7b8399246
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-01 12:08:18 -07:00
Zhomart Mukhamejanov
af5958818a Merge "updater_sample: Improve UpdateConfig" 2018-05-01 19:05:22 +00:00
Tao Bao
17f6c1b041 Merge "recovery: Split main() into recovery_main.cpp."
am: 0204e88073

Change-Id: I474502fc51b28b3e69e9638c82534bfea62903a7
2018-05-01 11:04:46 -07:00
Tao Bao
0204e88073 Merge "recovery: Split main() into recovery_main.cpp." 2018-05-01 17:54:40 +00:00
Tao Bao
3aec6965bf Add ScreenRecoveryUI::ShowMenu().
From caller's PoV, RecoveryUI::{Start,Select,End}Menu should always be
used together, i.e. to show a menu and get user's selection. This CL
provides ShowMenu() as one-stop service (which is based on
get_menu_selection() from recovery.cpp).

Also move RecoveryUI::{Start,Select,End}Menu into ScreenRecoveryUI, with
a dropped access level from public to protected.

Due to the dependency on recovery / librecovery refactoring, will add
testcases in follow-up CLs.

Test: Build and boot into recovery image. Check the menus (main menu,
      'View recovery logs', 'Wipe data/factory reset').
Change-Id: Ie17aa78144871a12affd6f9075e045f76608a0ba
2018-05-01 10:27:40 -07:00
Zhomart Mukhamejanov
963e3eeb00 updater_sample: Improve UpdateConfig
UpdateConfig:
- constant names changed
- added parsing streaming metadata
- added InnerFile to describe a file in zip

Android.mk
- added guava

tests fixed

Test: using junit4

Change-Id: Ibe3c8a3bde20259b0eea9a79aca4b22ed7b048f4
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-01 10:24:57 -07:00
Tao Bao
6d99d4b457 recovery: Split main() into recovery_main.cpp.
This prepares for moving more codes from recovery into librecovery, so
that they will become more easily testable. recovery_main.cpp will be
the source code for recovery module, with the rest moved into
librecovery. recovery_main.cpp mainly does the initializations, such as
setting up the logger.

Test: mmma -j bootable/recovery
Test: recovery_component_test
Test: Build and boot into recovery image on marlin.
Change-Id: I8e846524546b6f3f0e32ed869e851f62261eef23
Merged-In: I8e846524546b6f3f0e32ed869e851f62261eef23
2018-05-01 09:48:00 -07:00
Tao Bao
7e61191258 Merge "Drop '#include "ui.h"' from device.h."
am: 2de12da142

Change-Id: I339621dbc9c8cebe78fa7bcf30e9c7e070e649af
2018-04-30 19:04:03 -07:00
Tao Bao
2de12da142 Merge "Drop '#include "ui.h"' from device.h." 2018-05-01 01:54:45 +00:00
Tao Bao
c16fd8a931 Drop '#include "ui.h"' from device.h.
We don't need the dependency in the header.

Test: mmma -j bootable/recovery
Change-Id: I03741ae7911a7e8bf1284b2821cf986ca0ab434e
2018-04-30 17:15:17 -07:00
Tao Bao
040674586b Merge changes I78839ed4,I75ac0e26
am: e4d65b681a

Change-Id: I303e20e6d7f36a355f6cca9798c3c598fe10777b
2018-04-30 12:53:55 -07:00
Tao Bao
e4d65b681a Merge changes I78839ed4,I75ac0e26
* changes:
  recovery: Move a few constants closer to their uses.
  recovery: Fix the return value when failing to convert to FBE.
2018-04-30 19:39:42 +00:00
Tao Bao
aac9d9fcf8 recovery: Move a few constants closer to their uses.
Test: mmma -j bootable/recovery
Change-Id: I78839ed487ef41b4eaa3787cb7b4bf33fb0d164a
2018-04-30 10:57:36 -07:00
Tao Bao
406a6ff5e6 recovery: Fix the return value when failing to convert to FBE.
Test: Build and flash aosp_angler-userdebug. Choose 'Convert to file
      encryption' from Developer Options. Converting to FBE still works.
Change-Id: I75ac0e266af2d00bfaff0664f8bcee74a5f16b41
2018-04-30 10:55:59 -07:00
android-build-prod (mdb)
cddf5dbf67 Merge "Merge libmounts into libotautil."
am: 686353215f

Change-Id: Id8592b7ac8fe83406928c92f24dbcc88fdaf8ca9
2018-04-28 09:52:14 -07:00
android-build-prod (mdb)
686353215f Merge "Merge libmounts into libotautil." 2018-04-28 16:46:19 +00:00
Tao Bao
9a319f01f8 Merge libmounts into libotautil.
Export its header (mounts.h) from there, and drop the dot dot dependency
from libupdater / updater.

Test: mmma bootable/recovery
Test: recovery_component_test
Change-Id: Ic26a6b9b78a34dbe1f178b138f3abaafffbec44c
2018-04-27 21:13:57 -07:00
Tao Bao
29c9690864 Merge "recovery: Revoke (most of) short options."
am: 3de3756081

Change-Id: I5be31e78b5531412405a457ed6bd042160f7e014
2018-04-27 16:15:44 -07:00
Tao Bao
3de3756081 Merge "recovery: Revoke (most of) short options." 2018-04-27 23:09:31 +00:00
Tao Bao
f9f17347c8 recovery: Revoke (most of) short options.
`recovery` is not a command line tool, and these short options don't
have the common meanings that are used elsewhere.

In the platform code, we're not actively using the short forms.
 - bootable/recovery/uncrypt/uncrypt.cpp
 - bootable/recovery/updater/install.cpp
 - frameworks/base/core/java/android/os/RecoverySystem.java
 - system/core/adb/services.cpp
 - system/core/init/builtins.cpp
 - system/update_engine/hardware_android.cc
 - system/vold/cryptfs.cpp
(Callers must have used libbootloader_message.)

'--show_text' and '--just_exit' are not that obvious from the initial
commit messages. They appear to be used by vendor code (e.g.
'--show_text' is optionally used by bootloader, as in the noted bug). So
this CL keeps them as is for now.

Test: `mmma -j bootable/recovery`
Test: Check the code search for possible callers to recovery.
Change-Id: I8a87f5fb50131d647dfc8290381ca47a60f543fa
2018-04-27 12:34:14 -07:00
Tianjie Xu
7ad3e673ba Merge "Save the target file when applypatch tests fail"
am: 957c1abfba

Change-Id: I100dd5ba4fb2c3bd4a29bd8759dcd65f03afbe50
2018-04-27 09:53:47 -07:00
Tianjie Xu
957c1abfba Merge "Save the target file when applypatch tests fail" 2018-04-27 16:45:25 +00:00
Zhomart Mukhamejanov
811baa37d3 Merge "updater_sample: fix gen_update_config.py"
am: 2573b6fa1c

Change-Id: I4e21d34a1cfe6181e0db3d49296db54e21b70805
2018-04-26 21:47:25 -07:00
Zhomart Mukhamejanov
2573b6fa1c Merge "updater_sample: fix gen_update_config.py" 2018-04-27 04:25:23 +00:00
android-build-prod (mdb)
b73e921a27 Merge "recovery: Print the actually required battery level."
am: ca456f3964

Change-Id: I2d417474c3e37add42cd7a9f1055402f5c1b8a26
2018-04-26 21:15:21 -07:00
android-build-prod (mdb)
ca456f3964 Merge "recovery: Print the actually required battery level." 2018-04-27 04:03:13 +00:00
Tianjie Xu
3f638ee834 Save the target file when applypatch tests fail
Save the target file to tempfile upon unittest failures so that we can
try to decompress the deflate chunks in the flaky unittests. And print
the zlib version in case that gets changed.

Also the SHA1 of the uncompressed data seems correct; so only keep the
final SHA1 to double confirm.

Bug: 67849209
Test: recovery_component_test
Change-Id: Ic6447c2b75c29379d6844cd23a0ff1c4305694a0
2018-04-26 19:46:39 -07:00
Zhomart Mukhamejanov
72a4d465bf updater_sample: fix gen_update_config.py
Fix gen_update_config.py.
And add tests for gen_update_config.py.

Test: python3 updater_sample/tools/gen_update_config_test.py

Change-Id: I0d270f1d5d7635855ee9acb0dd094e083cd33e3a
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-04-26 19:40:48 -07:00
Tao Bao
a742fb0994 Merge "Mark ui_print with __printflike."
am: 220b531e3d

Change-Id: Ia13734618844f2ca82f83da897823183d8c9e443
2018-04-26 15:26:25 -07:00
Tao Bao
f2ea6d7999 recovery: Print the actually required battery level.
It should be one of BATTERY_OK_PERCENTAGE (20) and
BATTERY_WITH_CHARGER_OK_PERCENTAGE (15), depending on the charger state.

Also move the battery level related constants next to their users.

Test: mmma -j bootable/recovery
Test: Build and boot into recovery with a pending OTA. Check the log.
Change-Id: I7513f59c4718ec8e2db16c5266928470c2308648
Merged-In: I7513f59c4718ec8e2db16c5266928470c2308648
2018-04-26 15:21:34 -07:00
Tao Bao
220b531e3d Merge "Mark ui_print with __printflike." 2018-04-26 22:18:17 +00:00
Tao Bao
aae7efd7a2 Mark ui_print with __printflike.
And fix an issue as a result of the change.

Test: mmma -j bootable/recovery
Change-Id: I94e6384a1f39e9c37a8ed029d235142738d6e5d3
Merged-In: I94e6384a1f39e9c37a8ed029d235142738d6e5d3
2018-04-26 13:42:42 -07:00
Zhomart Mukhamejanov
9882160d8d Merge "sample_updater: create tools/gen_update_config.py"
am: 6bd1d9b8d9

Change-Id: I40f5c3650517bcdc20194fbc7abf0cadaccd9d4f
2018-04-26 12:36:04 -07:00
Zhomart Mukhamejanov
6131d00348 Merge "sample_updater: add tests resources"
am: 7d064166ce

Change-Id: I96ecdfef2f05798c4f072ee21718dbb4c0c640f2
2018-04-26 12:35:44 -07:00
Zhomart Mukhamejanov
6bd1d9b8d9 Merge "sample_updater: create tools/gen_update_config.py" 2018-04-26 19:21:08 +00:00
Zhomart Mukhamejanov
7d064166ce Merge "sample_updater: add tests resources" 2018-04-26 19:20:56 +00:00
Tianjie Xu
247821648f Merge "Dump the uncompressed data's SHA1 to debug flaky tests"
am: cc8587b508

Change-Id: Iaca05198698844f1058e625647e545e55ae47ab8
2018-04-26 10:36:43 -07:00
Tianjie Xu
cc8587b508 Merge "Dump the uncompressed data's SHA1 to debug flaky tests" 2018-04-26 17:23:00 +00:00
android-build-prod (mdb)
ce562bacfd Merge "Rename CacheLocation to Paths."
am: 49c7f1cec3

Change-Id: I335f1df6699d8316d41959c21a09cbf944d7554b
2018-04-26 09:38:23 -07:00
android-build-prod (mdb)
49c7f1cec3 Merge "Rename CacheLocation to Paths." 2018-04-26 16:24:41 +00:00
Tao Bao
641fa97def Rename CacheLocation to Paths.
We have a general need for overriding more paths (e.g. "/tmp"), mostly
for testing purpose. Rename CacheLocation to Paths, and use that to
manage TEMPORARY_{INSTALL,LOG}_FILE.

Test: mmma -j bootable/recovery
Test: recovery_component_test
Change-Id: Ia8ce8e5695df37ca434f13ac4d3206de1e8e9396
2018-04-25 21:46:00 -07:00
Tianjie Xu
9e1ccd47b4 Dump the uncompressed data's SHA1 to debug flaky tests
Dump the SHA1 of the uncompressed data in applypatch to confirm if we
are at least doing the bspatch part correctly. (I expect so since the actual
length of the uncompressed data matches the expected length).

Also try to decompress the deflate chunk inside the recovery image for
these two flacky tests. In theory, there shouldn't be randomness in
zlib; so we would know if we process the data wrongly if the deflate fails
to decompress.

Bug: 67849209
Test: recovery_component_test
Change-Id: Id947522153b1eeb0d10d161298a96fb045f92018
2018-04-25 20:00:56 -07:00
Zhomart Mukhamejanov
02e912c235 sample_updater: add tests resources
This resource files are used in tests. ota package zip file
contains only text files.
Config files are generated using tools/gen_update_config.py

Test: N/A

Change-Id: I9d3d0f81472dc20db18b32f4a9445a998b68b0e3
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-04-25 18:18:46 -07:00
Zhomart Mukhamejanov
23d17302b1 Merge "updater_sample: Use stubs libs for android.test.base / runner."
am: d97b643de4

Change-Id: I65d85eea826232633919a2c91a66b80a1c37e6c6
2018-04-25 17:52:00 -07:00
Zhomart Mukhamejanov
d5a41822c2 sample_updater: create tools/gen_update_config.py
gen_update_config.py generates JSON config files
from given OTA image zip files.

README.md is updated.

Test: manually

Change-Id: Ifd09b49a73983a42752ee3842a566cecedb9cae0
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-04-25 17:43:26 -07:00
Zhomart Mukhamejanov
d97b643de4 Merge "updater_sample: Use stubs libs for android.test.base / runner." 2018-04-26 00:39:20 +00:00
android-build-prod (mdb)
4b52553cbb Merge "Rename the dir for SystemUpdaterSample."
am: a544bfab2b

Change-Id: If6329a0f9a7732b99d11f6233ed56f72db31ac96
2018-04-25 17:22:22 -07:00
android-build-prod (mdb)
a544bfab2b Merge "Rename the dir for SystemUpdaterSample." 2018-04-26 00:10:33 +00:00