Commit Graph

5636 Commits

Author SHA1 Message Date
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
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