Commit Graph

5642 Commits

Author SHA1 Message Date
Zhomart Mukhamejanov f3d1e58163 Merge "updater_sample: update tests"
am: 219445a320

Change-Id: I0f900f7612721b550826f0daffb030377468292b
2018-05-03 16:02:18 -07:00
Zhomart Mukhamejanov 219445a320 Merge "updater_sample: update tests" 2018-05-03 22:52:36 +00:00
Zhomart Mukhamejanov e606f6d3ff updater_sample: update tests
- fix tools/gen_update_config.py
- add tests for PayloadSpecs#forStreaming

Test: junit4
Change-Id: Ife1980c5f72944ed35500aa820b30031fc99e820
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-03 14:04:16 -07:00
Zhomart Mukhamejanov c36f5ff1c7 Merge "updater_sample: update ui and README, clean-up"
am: 9c544a2bc6

Change-Id: I01da369a194bdb0b4d6d698dd835ce3bf9904756
2018-05-03 10:58:13 -07:00
Zhomart Mukhamejanov 9c544a2bc6 Merge "updater_sample: update ui and README, clean-up" 2018-05-03 17:47:59 +00:00
Zhomart Mukhamejanov f7a70388ee updater_sample: update ui and README, clean-up
- ui: add text view for latest completion (error) code
- update README.md
- update MainActivity.java
- remove AbNonStreamingUpdate

Test: mmma bootable/recovery/updater_sample
Change-Id: Ie9bb64211c57d536036b04f13896e4937c392b6e
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-03 14:59:45 +00:00
android-build-prod (mdb) bcf8beaeed Merge "screen_ui: Merge Menu::Start() into its ctor."
am: 0cabcd0126

Change-Id: I739ab9b6d3aa2a52f2fd51adbf84664301f22ca6
2018-05-02 22:01:49 -07:00
android-build-prod (mdb) 0cabcd0126 Merge "screen_ui: Merge Menu::Start() into its ctor." 2018-05-03 04:54:24 +00:00
Zhomart Mukhamejanov 98837bdcd1 Merge "updater_sample: Add streaming to PayloadSpec"
am: 3a79b36377

Change-Id: I576233f982e2dea6abeb9267ffddc2760dad4d4e
2018-05-02 20:27:20 -07:00
Zhomart Mukhamejanov 3a79b36377 Merge "updater_sample: Add streaming to PayloadSpec" 2018-05-03 03:22:45 +00:00
Tao Bao e02a5b248b screen_ui: Merge Menu::Start() into its ctor.
Since we instantiate a Menu object each time for a given set of
header/items, we don't have a use case of re-populating an existing Menu
with different data (which is what Menu::Start() does).

Test: mmma -j bootable/recovery
Test: Run recovery_unit_test on marlin.
Test: Build and boot into recovery image on angler. Check the UI.
Change-Id: Iaa2ba9d406ebd74c015e43198c17c5335b38df53
2018-05-02 19:30:15 -07:00
android-build-prod (mdb) a9d78d45d6 Merge "screen_ui: Use std::string in DrawTextLine() and siblings."
am: b4ded4a6ce

Change-Id: I02fad9395511c716d790f1a1e3f5065532a8433b
2018-05-02 19:16:59 -07:00
android-build-prod (mdb) b4ded4a6ce Merge "screen_ui: Use std::string in DrawTextLine() and siblings." 2018-05-03 02:12:48 +00:00
Tao Bao 93e46ad426 screen_ui: Use std::string in DrawTextLine() and siblings.
Test: mmma -j bootable/recovery
Test: Build and boot into recovery image on angler. Check the UI.
Test: Repeat the same test on devices using wearable UI.
Change-Id: I1a67ff4ae8de4d7a8dc66326cf07f95c89e95152
2018-05-02 15:32:48 -07:00
Tao Bao 30f2775b37 Merge "screen_ui: Drop the dependency on common.h."
am: 738a4258d8

Change-Id: I337db6f14a9a7dd6394040026e004eec717cf487
2018-05-02 14:41:24 -07:00
Tao Bao 738a4258d8 Merge "screen_ui: Drop the dependency on common.h." 2018-05-02 21:28:19 +00:00
Tao Bao 1d156b9882 screen_ui: Drop the dependency on common.h.
Remove the use of fopen_path() in screen_ui.cpp, as this is the only
place that requires the dependency on common.h. The mounting work should
be done by the caller.

Also change the parameter in RecoveryUI::ShowFile() from const char* to
const std::string&.

Test: mmma -j bootable/recovery
Test: Build and boot into recovery image on angler. Choose 'View
      recovery logs'.
Change-Id: I8e63f14a8e2b12b856e5a92476e4226cd6ea39fb
2018-05-02 12:46:21 -07:00
Zhomart Mukhamejanov da7e237596 updater_sample: Add streaming to PayloadSpec
PayloadSpec
- add streaming generator and tests
- fix sample.json
- fix tests
- rename PackagePropertyFiles to PackageFiles, it has info
  not only about property files, and new name is shorter

Bug: 77148467
Test: `mmma -j bootable/recovery/updater_sample`
Change-Id: I9c1206c07c37183f13d3c25940f12981ca85b1b4
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-02 12:40:49 -07:00
Tao Bao a2f44ebd09 Merge "Add ScreenRecoveryUI::ShowMenu()."
am: cac3ec3513

Change-Id: Iaad9bc980d8db3a02dbae77af234cf1aefccdbd1
2018-05-01 13:40:29 -07:00
Tao Bao cac3ec3513 Merge "Add ScreenRecoveryUI::ShowMenu()." 2018-05-01 20:32:37 +00:00
Zhomart Mukhamejanov 013098f6d2 Merge "updater_sample: add FileDownloader"
am: 5c119482b3

Change-Id: I4e2da88f762df0c3fa63a1b5c6c2389c7683291d
2018-05-01 12:14:32 -07:00
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