Commit Graph
5670 Commits
Author SHA1 Message Date
Tao Baoandandroid-build-merger 5004300d6f Merge "recovery: Remove unneeded include of minui.h."
am: 0a2c4e260f

Change-Id: I6b072fba4b509ce801663e28e4fc53f180a776f2
2018-05-08 11:24:42 -07:00
android-build-prod (mdb)andandroid-build-merger 730d541588 Merge "screen_ui: Drop the parameter in CheckBackgroundTextImages."
am: 1f3a9c0a43

Change-Id: Ibbb3e5673670ce112e1d15f961ad7ce5ea2d5c60
2018-05-08 11:21:43 -07:00
Tao BaoandGerrit Code Review 0a2c4e260f Merge "recovery: Remove unneeded include of minui.h." 2018-05-08 18:21:00 +00:00
android-build-prod (mdb)andGerrit Code Review 1f3a9c0a43 Merge "screen_ui: Drop the parameter in CheckBackgroundTextImages." 2018-05-08 18:11:35 +00:00
Tao Baoandandroid-build-merger 07bf50a51d Merge "recovery: Get UI and locale from device."
am: d8abd2bd70

Change-Id: I15d5c733081a453224868a6dea9274456e7f7b89
2018-05-08 10:42:31 -07:00
Tao BaoandGerrit Code Review d8abd2bd70 Merge "recovery: Get UI and locale from device." 2018-05-08 17:32:36 +00:00
Tao Bao 39c4918a40 screen_ui: Drop the parameter in CheckBackgroundTextImages.
ScreenRecoveryUI already has the info in locale_.

Also when showing "Current locale: X/Y" on screen, use 1-based index for
X, so that we have 1 <= X <= Y.

Test: Build anf flash recovery image on aosp_bullhead-userdebug. Choose
      `Run locale test` from UI.
Change-Id: I5dd4de82e63890ddf755f4e23cd2290ad5d50ece
2018-05-07 23:50:50 -07:00
Jerry ZhangandTao Bao 2dea53ef2b recovery: Get UI and locale from device.
This removes some reliance on the global
locale and ui variables.

Test: Recovery works
Bug: 78793464
Change-Id: I78f1a2b321f5d50aa58b10735a73ae137283353a
2018-05-08 06:09:54 +00:00
Tao Baoandandroid-build-merger 260d4ba55f Merge "recovery: Refactor logging code into logging.cpp"
am: 5285c27bf4

Change-Id: I661d2250aeefb56a77ad686b726fc825f1d5a56f
2018-05-07 20:39:54 -07:00
Tao Bao 83ff1f0b05 recovery: Remove unneeded include of minui.h.
Test: mmma -j bootable/recovery
Change-Id: I1a79fa6386d56bf5e20ee074352d287403d2d745
2018-05-07 20:31:26 -07:00
Tao BaoandGerrit Code Review 5285c27bf4 Merge "recovery: Refactor logging code into logging.cpp" 2018-05-08 03:30:50 +00:00
Tao Baoandandroid-build-merger 83906f75bb Merge "updater: Skip an updated partition on retry."
am: 0ffe13b56f

Change-Id: I50582c6c397194713bb52cf1d04e541236e9d5c0
2018-05-07 18:15:43 -07:00
Tao BaoandGerrit Code Review 0ffe13b56f Merge "updater: Skip an updated partition on retry." 2018-05-08 00:57:14 +00:00
Tao Baoandandroid-build-merger 47bf5e68e6 Merge "updater: Fix an issue when resuming an update."
am: 1dc9e2ddef

Change-Id: Iee6d93057ee1c63a35fda2603a5fd5836db83179
2018-05-07 17:29:00 -07:00
Tao BaoandGerrit Code Review 1dc9e2ddef Merge "updater: Fix an issue when resuming an update." 2018-05-08 00:16:32 +00:00
Tao Bao 98f875eee7 updater: Fix an issue when resuming an update.
We cannot skip "new" commands while resuming an update with
last_command_file, because they read in the data sequentially from the
package.

Bug: 69858743
Test: Interrupt an update that has new commands. Check the update log.
Change-Id: I05fb67246f5ea3ba2a0f78f10255c0d9b0bc2f5a
2018-05-07 22:14:45 +00:00
Tao Bao 864c668dd2 updater: Skip an updated partition on retry.
Prior to the change, the BBOTA updater would try to re-run all the
commands for a given partition on retry, including creating stashes
according to the list of commands. This could fail a retry when the
previous update had moved on to next stage, with leftovers in /cache.

This CL creates a marker on /cache upon successfully updating a
partition. The update commands will be skipped when trying to apply
updates on an updated partition. Note that the marker is expected to be
removed while doing a normal boot (in particular, handled by
RecoverySystem#handleAftermath). If that didn't happen, the updater
would also remove the marker before starting next fresh update.

Alternatively, we can achieve the same goal by changing the OTA script,
which needs to additionally compare the checksum against the target
build. For example,

  range_sha1("/system", "ranges") == SHA1_of_updated_system ||
  block_image_update("/system");

The downside is that we need to pay that cost on each install, as the
edify script doesn't support caching the result in a variable.

Bug: 79165963
Test: Simulate the process on device (by triggering a reboot while
      updating /vendor). Check the update log and result.
Change-Id: I731031fa336133e1221b33edfc469969706e8091
2018-05-07 15:05:00 -07:00
Jerry Zhang 152933a28e recovery: Refactor logging code into logging.cpp
Move common logging related functions to
rotate_logs.cpp, and rename that to logging.cpp.

Test: Recovery works
Bug: 78793464
Merged-In: I00f20a79a296680122b8437d54a87897c5cb2fc7
Change-Id: I00f20a79a296680122b8437d54a87897c5cb2fc7
2018-05-07 14:14:17 -07:00
android-build-prod (mdb)andandroid-build-merger c4ba6b738f Merge changes I1cc5d702,I32ab9854
am: 420f7f8df4

Change-Id: I4efb48a107303b58c2b40a7a9d8e663c537e5a84
2018-05-04 10:38:41 -07:00
android-build-prod (mdb)andGerrit Code Review 420f7f8df4 Merge changes I1cc5d702,I32ab9854
* changes:
  Move reboot() from common.h into otautil/sysutil.h.
  otautil: Rename dir/sys/thermal utils.
2018-05-04 17:26:11 +00:00
Tao Baoandandroid-build-merger d7d087f31c Merge "otautil: Only build the needed files for host build."
am: 5818e894df

Change-Id: I2c9bf65f56c0bf9fe1d912717ef7952768d9a664
2018-05-04 09:30:47 -07:00
Tao BaoandGerrit Code Review 5818e894df Merge "otautil: Only build the needed files for host build." 2018-05-04 16:08:18 +00:00
Tao Bao 2c52639d01 Move reboot() from common.h into otautil/sysutil.h.
This breaks the dependency on common.h (which belongs to
recovery/librecovery) from librecovery_ui. reboot() is now owned by
libotautil, which is expected to be a leaf node to be depended on.

With the change, recovery and updater also share the same reboot() code
now.

Test: mmma -j bootable/recovery
Change-Id: I1cc5d702cfe49302048db33d31c9c87ddc97ac71
2018-05-03 23:18:38 -07:00
Tao Bao 17054c051a otautil: Rename dir/sys/thermal utils.
Test: mmma -j bootable/recovery
Change-Id: I32ab98549e91f993364306e4a88dc654221b3869
2018-05-03 23:17:29 -07:00
Tao Bao 13446c032b otautil: Only build the needed files for host build.
This avoids unnecessarily breaking mac build.

Test: `mmma -j bootable/recovery` on Linux and macOS.
Change-Id: I1dc00364c895866a4757c2a43beb3432ae1e4113
2018-05-03 23:16:03 -07:00
Tao Baoandandroid-build-merger 0d9ed29541 Merge "Move menu headers/items to std::vector<std::string>."
am: fb86bb2a07

Change-Id: I1bbef54e7117e8967a63290beaed70521d4de374
2018-05-03 16:21:16 -07:00
Tao BaoandGerrit Code Review fb86bb2a07 Merge "Move menu headers/items to std::vector<std::string>." 2018-05-03 23:13:09 +00:00
Zhomart Mukhamejanovandandroid-build-merger f3d1e58163 Merge "updater_sample: update tests"
am: 219445a320

Change-Id: I0f900f7612721b550826f0daffb030377468292b
2018-05-03 16:02:18 -07:00
Zhomart MukhamejanovandGerrit Code Review 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
Tao Bao 1fe1afe863 Move menu headers/items to std::vector<std::string>.
Test: mmma -j bootable/recovery
Test: Run recovery_unit_test on marlin.
Test: Build and boot into recovery image on angler. Check the UI that
      shows menu ('View recovery log', 'Wipe data', 'Run locale test').
Test: Start recovery with '--prompt_and_wipe_data'. Check the UI.
Change-Id: If8a4209e0bb4ca64f719f9f9465d3b3589a69cdc
2018-05-03 12:31:18 -07:00
Zhomart Mukhamejanovandandroid-build-merger c36f5ff1c7 Merge "updater_sample: update ui and README, clean-up"
am: 9c544a2bc6

Change-Id: I01da369a194bdb0b4d6d698dd835ce3bf9904756
2018-05-03 10:58:13 -07:00
Zhomart MukhamejanovandGerrit Code Review 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)andandroid-build-merger 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)andGerrit Code Review 0cabcd0126 Merge "screen_ui: Merge Menu::Start() into its ctor." 2018-05-03 04:54:24 +00:00
Zhomart Mukhamejanovandandroid-build-merger 98837bdcd1 Merge "updater_sample: Add streaming to PayloadSpec"
am: 3a79b36377

Change-Id: I576233f982e2dea6abeb9267ffddc2760dad4d4e
2018-05-02 20:27:20 -07:00
Zhomart MukhamejanovandGerrit Code Review 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)andandroid-build-merger 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)andGerrit Code Review 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 Baoandandroid-build-merger 30f2775b37 Merge "screen_ui: Drop the dependency on common.h."
am: 738a4258d8

Change-Id: I337db6f14a9a7dd6394040026e004eec717cf487
2018-05-02 14:41:24 -07:00
Tao BaoandGerrit Code Review 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 Baoandandroid-build-merger a2f44ebd09 Merge "Add ScreenRecoveryUI::ShowMenu()."
am: cac3ec3513

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

Change-Id: I4e2da88f762df0c3fa63a1b5c6c2389c7683291d
2018-05-01 12:14:32 -07:00
Zhomart Mukhamejanovandandroid-build-merger 0b54d77832 Merge "updater_sample: Improve UpdateConfig"
am: af5958818a

Change-Id: Ia8fd285ece0dec638273abf3c531fbd1c052becb
2018-05-01 12:10:32 -07:00