Commit graph

5721 commits

Author SHA1 Message Date
Tao Bao
4f26e44969 Merge "updater_sample: add switch slot demo"
am: 2ddc54f5fd

Change-Id: Ie29bdc24f011744e8d13ea0b5c5608d4d3851792
2018-05-17 12:39:53 -07:00
Tao Bao
2ddc54f5fd Merge "updater_sample: add switch slot demo" 2018-05-17 19:21:54 +00:00
Zhomart Mukhamejanov
238beb7373 updater_sample: add switch slot demo
- Add util/UpdateEngineProperties.java
- Set SWITCH_SLOT_ON_REBOOT=0 when update is applied
- Allow user to switch slot to the updated partition manually
- Add config "ab_config.force_switch_slot"
- Add ab_force_switch_slot to tools/gen_update_config.py

Test: manually on the marlin device
Bug: 79492522
Change-Id: I52f818b576d52a052b5427ba3f732cb2371ddb06
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-17 16:29:57 +00:00
Tao Bao
0abc18d520 Merge "recovery: Refactor common setup into main()"
am: 5b3d6cf58b

Change-Id: I33558285e87b03af06d02f735e7e06e89404f9ad
2018-05-16 16:59:37 -07:00
Tao Bao
5b3d6cf58b Merge "recovery: Refactor common setup into main()" 2018-05-16 23:46:01 +00:00
Tianjie Xu
45b7dbea74 Merge "Last command file should be updated after a command finishes"
am: 6dfc54cae1

Change-Id: I0a99acaf18a1b3f386aa79bea210eb3a04929e54
2018-05-16 16:00:46 -07:00
Tianjie Xu
6dfc54cae1 Merge "Last command file should be updated after a command finishes" 2018-05-16 22:55:39 +00:00
Jerry Zhang
f5e319ac96 recovery: Refactor common setup into main()
Move more common setup into the main function.
Main() handles all 1 time setup, such as ui,
logging, and secontext. Recovery_main()
takes in command line arguments, does any
necessary recovery work, and can be called
multiple times from main().

Test: Recovery works
Bug: 78793464
Change-Id: I2d2595fc342b4ddfa80f4e06b30e44263132acd9
Merged-In: I2d2595fc342b4ddfa80f4e06b30e44263132acd9
2018-05-16 19:32:06 +00:00
Tao Bao
b730743b40 Merge "wear_ui: Address a TODO regarding {intro,loop}_frames."
am: 0f3aa6ec38

Change-Id: Ia9bc12ff45cf42124601cffb33da960bd9e377c1
2018-05-15 21:12:19 -07:00
Tianjie Xu
c2b2bb5d78 Last command file should be updated after a command finishes
The last command file has the last executed stash command by convention.
So we should update the file after we actually finishes executing the command;
instead of after loading src/tgt.

Bug: 79756267
Test: unit tests pass
Change-Id: I4535b5836e7eb13b3abe3d02f9f362ec5e9ec969
2018-05-15 21:05:30 -07:00
Tao Bao
0f3aa6ec38 Merge "wear_ui: Address a TODO regarding {intro,loop}_frames." 2018-05-16 04:04:54 +00:00
Tao Bao
152e0eb20b wear_ui: Address a TODO regarding {intro,loop}_frames.
Also add tests for LoadAnimation that cover the change.

Test: Run `recovery_unit_test` on marlin.
Change-Id: I0380a5cdd0d85d55baecf7759eb647b6a9f3a085
2018-05-14 11:14:00 -07:00
Tao Bao
0c2998ffe3 Merge "Clean up the Makefile for recovery and tests."
am: 1f0b9962b0

Change-Id: I79b21e9b93f8876a00176751a4664f6175a384be
2018-05-11 18:01:48 -07:00
Tao Bao
1f0b9962b0 Merge "Clean up the Makefile for recovery and tests." 2018-05-12 00:55:35 +00:00
Tao Bao
9e30997676 Clean up the Makefile for recovery and tests.
Reorder librecovery and librecovery_ui, so that librecovery stays closer
to recovery (in preparation for later changes that move more files
between the two). For the libraries in LOCAL_STATIC_LIBRARIES, reorder
them based on the dependency - local modules coming first, with external
libraries near the end. Sort the local / external modules, unless a
specific order is needed.

In tests/Android.mk, split the monolithic list of LOCAL_STATIC_LIBRARIES
based on modules. This makes adding / finding libraries easier.

There's no functionality in this CL.

Test: mmma -j bootable/recovery
Change-Id: I6836be574df565001ae9cd3d466a2b6460d90d08
2018-05-11 15:53:58 -07:00
Tao Bao
0e42c5680c Merge "screen_ui: Fix an issue in RTL locale detection."
am: 13d56e9bed

Change-Id: Icd9b2db1895f3329f34ca959d072abc5226d7cdd
2018-05-11 14:50:21 -07:00
Treehugger Robot
13d56e9bed Merge "screen_ui: Fix an issue in RTL locale detection." 2018-05-11 21:46:52 +00:00
Tao Bao
fb8636f48f Merge "Move device.cpp into librecovery_ui."
am: db6dc14bff

Change-Id: I2ebd04cded12b61173d9334ddd241511efc6e406
2018-05-11 14:46:51 -07:00
Tao Bao
db6dc14bff Merge "Move device.cpp into librecovery_ui." 2018-05-11 21:38:01 +00:00
Tao Bao
ca88c67135 Merge "tests: Add tests for ScreenRecoveryUI."
am: 8c6f699b36

Change-Id: I1fc42208d91ed211ac4b45c2d392a251c3d5ae53
2018-05-11 13:18:25 -07:00
Tao Bao
8c6f699b36 Merge "tests: Add tests for ScreenRecoveryUI." 2018-05-11 20:06:22 +00:00
Tao Bao
bd32e1b50b Merge "recovery: Configure device menu based on runtime info."
am: e498ef2f03

Change-Id: Ib513582394b796ca64c5e3ce46fc2bd535c621de
2018-05-11 10:54:10 -07:00
Tao Bao
6a542dcc3b Move device.cpp into librecovery_ui.
librecovery_ui will be exposed for device-specific RecoveryUI. With the
current code structure, 'device.h' and 'ui.h' will always be needed in
order to implement device-specific RecoveryUI.

Bug: 76436783
Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug;
      `mmma -j bootable/recovery` respectively.
Change-Id: I15e8851b230a65526ac9310e0ee6621b7daea589
2018-05-11 10:51:26 -07:00
Tao Bao
e498ef2f03 Merge "recovery: Configure device menu based on runtime info." 2018-05-11 17:34:01 +00:00
Tao Bao
e5d2c25ecf recovery: Configure device menu based on runtime info.
Drop the dependency on build time flag of AB_OTA_UPDATER when compiling
device.cpp. Note that AB_OTA_UPDATER still guards the package install
behavior (install.cpp).

This can be extended to cover the entry of "Apply update from SD card".

Test: Build and boot into recovery on angler and walleye respectively.
      Check the recovery menu.
Change-Id: I36a6a6b4101ba61d4d374e32353c36cc5716f9ce
2018-05-10 20:46:46 -07:00
Zhomart Mukhamejanov
0045e76c7c Merge "updater_sample: add HAL compatibility check"
am: 563d34f712

Change-Id: If8e53285455f6b140ea2f0ebda06c35d6a94462f
2018-05-10 20:14:25 -07:00
Zhomart Mukhamejanov
563d34f712 Merge "updater_sample: add HAL compatibility check" 2018-05-11 03:05:21 +00:00
Tao Bao
cc71d271c1 Merge "Document the clang-format usage."
am: 797550fb8b

Change-Id: I810e2e89e3437c98a519c60c3582c4dcb1678d36
2018-05-10 17:16:52 -07:00
Tao Bao
8d593973d6 Merge "Device owns the RecoveryUI instance."
am: 6df846e337

Change-Id: I39b0576e0ff11f3c5d62b1611f47f44b8f18c382
2018-05-10 17:16:00 -07:00
Tao Bao
797550fb8b Merge "Document the clang-format usage." 2018-05-11 00:04:06 +00:00
Tao Bao
6df846e337 Merge "Device owns the RecoveryUI instance." 2018-05-11 00:03:55 +00:00
Zhomart Mukhamejanov
48294e3d86 Merge "updater_sample: fix UpdateConfig"
am: 7217e7045d

Change-Id: I63af09b000961e79613798c818eeea626eb221b6
2018-05-10 14:56:56 -07:00
Zhomart Mukhamejanov
46a51ac4b6 updater_sample: add HAL compatibility check
- Refactor PrepareStreamingService#onHandleIntent
- Add PrepareStreamingService#verifyPackageCompatibility

Test: on the device
Bug: 79471299
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>

Change-Id: I1b18502f0638d66810a3f7ada582e4c7cea20cdb
2018-05-10 14:45:52 -07:00
Zhomart Mukhamejanov
7217e7045d Merge "updater_sample: fix UpdateConfig" 2018-05-10 21:45:03 +00:00
Tao Bao
601493e8c4 Document the clang-format usage.
`repo upload` and `git clang-format` may give slightly different
results, because they may trigger different `clang-format` binaries.
Document the setup to get consistent formatting results.

Test: N/A
Change-Id: I927dd25c7a6dd51be4812d5b3857a4b08c5a3f81
2018-05-10 13:12:59 -07:00
Zhomart Mukhamejanov
bb8a215138 updater_sample: fix UpdateConfig
- fix UpdateConfig
- fix smaple.json
- fix FileDownloaderTest

Test: manually
Change-Id: I09d272f77c89a02f54a24cf753fdfda4ce243927
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-10 12:19:16 -07:00
Zhomart Mukhamejanov
319e191238 Merge "updater_sample: add http header demo"
am: fe5b3e2b2d

Change-Id: I5f76d9f27d69fcdbe4f95194b34bad548f7e28e2
2018-05-10 10:59:06 -07:00
Zhomart Mukhamejanov
fe5b3e2b2d Merge "updater_sample: add http header demo" 2018-05-10 16:03:34 +00:00
Tao Bao
551d2c3181 Device owns the RecoveryUI instance.
Test: mmma -j bootable/recovery
Test: Build and boot into recovery, w/ and w/o enabling quiescent mode
      respectively.
Change-Id: I5d9bb945a6c3c9a3b96199fa0c8071a2f91339a0
2018-05-09 21:22:26 -07:00
Zhomart Mukhamejanov
6aa5fb0bbe updater_sample: add http header demo
Added demo passing http headers to UpdateEngine#applyPayload.

Bug: 79483768
Test: manually
Change-Id: I3e9c812dba2066acadbcea8d07c933368806e20c
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-09 17:33:52 -07:00
Tao Bao
ae4b00c427 Merge "screen_ui: Fix an issue when displaying wrapped text."
am: 1d4ef4ba4b

Change-Id: I747fa14c2efaf81dd94cd81171424bff845a43b0
2018-05-09 14:17:29 -07:00
Tao Bao
1d4ef4ba4b Merge "screen_ui: Fix an issue when displaying wrapped text." 2018-05-09 21:11:09 +00:00
Tao Bao
452b487f31 screen_ui: Fix an issue when displaying wrapped text.
The last character at EOL is cut when showing the prompt-for-data-wipe
message on angler. Address the issue by keeping symmetrical margins
based on the given offset.

Test: Trigger prompt-and-wipe-data menu. No cutout character at EOL.
Change-Id: Id6e8dc7815bf681435bcaf13e7bdd09cf870d95f
2018-05-09 12:32:27 -07:00
Zhomart Mukhamejanov
9fdeb57ab0 Merge "updater_sample: update tools"
am: daa86e9024

Change-Id: I8d2d6173e307a6c409742439c4707d522bcd7be1
2018-05-08 18:18:22 -07:00
Zhomart Mukhamejanov
e88d4682ea Merge "updater_sample: add streaming support"
am: c23a53c272

Change-Id: I4aa8a41a4dd3afd4b1c5fb3d6955abea45c16fc4
2018-05-08 18:17:23 -07:00
Zhomart Mukhamejanov
daa86e9024 Merge "updater_sample: update tools" 2018-05-09 01:04:59 +00:00
Zhomart Mukhamejanov
c23a53c272 Merge "updater_sample: add streaming support" 2018-05-09 01:04:41 +00:00
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