Commit Graph

7159 Commits

Author SHA1 Message Date
Tao Bao 347a659d9b screen_ui: Fix an issue in RTL locale detection.
The CL in [1] moved android.os.RecoverySystem to send the locale
argument in well-formed BCP 47 language tags (e.g. "en-US" instead of
"en_US"), with the matching changes to recovery code in [2]. However,
the one in ScreenRecoveryUI::SetLocale() was missed, which broke RTL
locale detection when using new format.

[1] commit 38715228 in platform/frameworks/base
[2] commit 2078b22e in platform/bootable/recovery

Test: Set the locale to "ar-EG". `Run graphics test` under recovery.
      Check the progress bar.
Test: Run recovery_unit_test on marlin.
Change-Id: I7c7f5e0725bfb096109c7192c19f3f008e8e47e3
2018-05-08 17:56:33 -07:00
Tao Bao 6cd816859e tests: Add tests for ScreenRecoveryUI.
In order to support that, this CL adds Paths::set_resource_dir() to
override the default resource dir ("/res/images/") that's only available
under recovery. Note that since there're external modules depending on
libminui, it adds a separate function of res_set_resource_dir(), instead
of requiring the dependency on libotautil for everyone.

Test: mmma -j bootable/recovery
Test: Run recovery_unit_test on marlin.
Change-Id: I0a7dcf4476808bea9e634eaffc9676f6cbaf92b7
2018-05-08 15:53:56 -07:00
Zhomart Mukhamejanov 96eb59e4b1 updater_sample: update tools
- Allow gen_update_config.py to use ota_from_target_files from
  $ANDROID_BUILD_TOP/build/make/tools/releasetools/
- tests/res/raw/ota_002_package.zip re-generated using functions from
  $ANDROID_BUILD_TOP/build/make/tools/releasetools/test_ota_from_target_files.py
- sample app tests updated

Test: ./tools/gen_update_config_test.py
Change-Id: I5c492ec22782ba54fe481f592a44e797c695684e
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-08 21:13:34 +00:00
Zhomart Mukhamejanov 0dd5a83d0e updater_sample: add streaming support
- UpdateConfigs: add helper methods for streaming
- add PrepareStreamingService intent service

Test: manually and junit4
Bug: 77148143
Change-Id: I61711eb9abe051987e725fbd94f8cd029ff21dd3
2018-05-08 21:12:33 +00:00
Tao Bao fe76180cfa Merge "recovery: Remove unneeded include of minui.h." am: 0a2c4e260f am: 5004300d6f
am: 8141ad8364

Change-Id: Ia27732a734e0c257b26b60e2f1ab73f2983921bd
2018-05-08 11:52:36 -07:00
android-build-prod (mdb) 18928bfc72 Merge "screen_ui: Drop the parameter in CheckBackgroundTextImages." am: 1f3a9c0a43 am: 730d541588
am: 6fc9795fbe

Change-Id: I0e29703558a65efc3b7f49a998ebc390a98b6ed8
2018-05-08 11:37:32 -07:00
Tao Bao 8141ad8364 Merge "recovery: Remove unneeded include of minui.h." am: 0a2c4e260f
am: 5004300d6f

Change-Id: I46cabe2bf6289a222b8a554f74cee565b7e7e03b
2018-05-08 11:28:14 -07:00
Tao Bao 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) 6fc9795fbe Merge "screen_ui: Drop the parameter in CheckBackgroundTextImages." am: 1f3a9c0a43
am: 730d541588

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

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

Change-Id: I6a2be86bb2d03a0f603ba137e71dfc664cabc302
2018-05-08 11:07:41 -07:00
Tao Bao e5caa4095b Merge "recovery: Get UI and locale from device." am: d8abd2bd70
am: 07bf50a51d

Change-Id: Ia362ec6f81d04502be6cb0212b655577bbd33bb8
2018-05-08 10:46:01 -07:00
Tao Bao 07bf50a51d Merge "recovery: Get UI and locale from device."
am: d8abd2bd70

Change-Id: I15d5c733081a453224868a6dea9274456e7f7b89
2018-05-08 10:42:31 -07:00
Tao Bao 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 Zhang 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 Bao 55bdab5e8d [automerger skipped] Merge "recovery: Refactor logging code into logging.cpp" am: 5285c27bf4 am: 260d4ba55f -s ours
am: 9faf292488  -s ours

Change-Id: I2147acff8dfb76ba106796b9b7eb7fb9de840097
2018-05-07 20:51:22 -07:00
Tao Bao 9faf292488 [automerger skipped] Merge "recovery: Refactor logging code into logging.cpp" am: 5285c27bf4
am: 260d4ba55f  -s ours

Change-Id: I5cb92b10097463148a9b2cfe694de470d3dbec90
2018-05-07 20:44:52 -07:00
Tao Bao 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 Bao 5285c27bf4 Merge "recovery: Refactor logging code into logging.cpp" 2018-05-08 03:30:50 +00:00
Tao Bao 4fb85d58d6 Merge "updater: Skip an updated partition on retry." am: 0ffe13b56f am: 83906f75bb
am: 6ca5e0c252

Change-Id: I99dd9c4edd5320515bda1db2d229f11c9ad9507f
2018-05-07 18:54:59 -07:00
Tao Bao 6ca5e0c252 Merge "updater: Skip an updated partition on retry." am: 0ffe13b56f
am: 83906f75bb

Change-Id: I7b7b4d974bb639be0bc97ef03a63f81ceaaae76d
2018-05-07 18:21:17 -07:00
Tao Bao 83906f75bb Merge "updater: Skip an updated partition on retry."
am: 0ffe13b56f

Change-Id: I50582c6c397194713bb52cf1d04e541236e9d5c0
2018-05-07 18:15:43 -07:00
Tao Bao 0ffe13b56f Merge "updater: Skip an updated partition on retry." 2018-05-08 00:57:14 +00:00
Tao Bao 422bc60f4e Merge "updater: Fix an issue when resuming an update." am: 1dc9e2ddef am: 47bf5e68e6
am: 13784d1511

Change-Id: I2bf115ee8c4a77c6097e6e52e0ec2ef9b5f73f72
2018-05-07 17:44:39 -07:00
Tao Bao 13784d1511 Merge "updater: Fix an issue when resuming an update." am: 1dc9e2ddef
am: 47bf5e68e6

Change-Id: I2e555a2534bb0e14b520aa4c9036aaa7d73407c4
2018-05-07 17:36:32 -07:00
Tao Bao 47bf5e68e6 Merge "updater: Fix an issue when resuming an update."
am: 1dc9e2ddef

Change-Id: Iee6d93057ee1c63a35fda2603a5fd5836db83179
2018-05-07 17:29:00 -07:00
Tao Bao 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
Jerry Zhang 6bdb289d7f recovery: Refactor logging code into logging.cpp
am: cadf4ed451

Change-Id: I2966ae6be9500cfed2054c6539209ea4a293efd5
2018-05-07 13:30:59 -07:00
Jerry Zhang cadf4ed451 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
Change-Id: I00f20a79a296680122b8437d54a87897c5cb2fc7
(cherry picked from commit 3c3f211d1e)
2018-05-07 19:25:03 +00:00
Jerry Zhang 3c3f211d1e 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
Change-Id: I00f20a79a296680122b8437d54a87897c5cb2fc7
2018-05-07 11:12:32 -07:00
android-build-prod (mdb) 6cf0a98b93 Merge changes I1cc5d702,I32ab9854 am: 420f7f8df4 am: c4ba6b738f
am: 13415d9138

Change-Id: If1f0b46e3134fc8a36553ad98f8e03b3e3488f81
2018-05-04 10:49:39 -07:00
android-build-prod (mdb) 13415d9138 Merge changes I1cc5d702,I32ab9854 am: 420f7f8df4
am: c4ba6b738f

Change-Id: I7696fb68e13e214ee830b9de1bf66dc6f1cac691
2018-05-04 10:43:36 -07:00
android-build-prod (mdb) c4ba6b738f Merge changes I1cc5d702,I32ab9854
am: 420f7f8df4

Change-Id: I4efb48a107303b58c2b40a7a9d8e663c537e5a84
2018-05-04 10:38:41 -07:00
android-build-prod (mdb) 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 Bao 0ac03af39e Merge "otautil: Only build the needed files for host build." am: 5818e894df am: d7d087f31c
am: 17a27aa2e2

Change-Id: Ie5268384f4ed8cd98b6d03089bcbfd2b14179f30
2018-05-04 09:40:55 -07:00
Tao Bao 17a27aa2e2 Merge "otautil: Only build the needed files for host build." am: 5818e894df
am: d7d087f31c

Change-Id: I2fe3c3b0a718482114bcb744211ed6b9fa1d0904
2018-05-04 09:36:27 -07:00
Tao Bao 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 Bao 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 Bao 96106592a2 Merge "Move menu headers/items to std::vector<std::string>." am: fb86bb2a07 am: 0d9ed29541
am: 3777c4b859

Change-Id: I208d2804c2fc6634c8464fdb700756ade977b908
2018-05-03 17:10:54 -07:00
Zhomart Mukhamejanov 44a3a0b9f1 Merge "updater_sample: update tests" am: 219445a320 am: f3d1e58163
am: aa1fd35492

Change-Id: Id7e5337a3538b7bb79771a71cea10dfda1af8a75
2018-05-03 17:02:23 -07:00