Commit graph

217 commits

Author SHA1 Message Date
Tao Bao
f91fdfb3fc Merge "tools: Move to Soong." am: 6b16093b29
am: 9016deefe4

Change-Id: I1c8b1dd470279e3e5b8ca15c76dfe09691257bd6
2018-05-29 11:09:10 -07:00
Tao Bao
6b16093b29 Merge "tools: Move to Soong." 2018-05-29 17:55:39 +00:00
Tao Bao
e462cdffe9 tools: Move to Soong.
Test: `mmma -j bootable/recovery/`
Test: Build and run RecoveryLocalizer on device.
Change-Id: I3359223c82bd670c94ad51296cb8b357b04f5349
2018-05-17 13:10:08 -07:00
Tao Bao
371fe6e8bc Move stuff from recovery into librecovery.
Move most source files into librecovery so they become testable. Only
recovery_main.cpp and logging.cpp are built into recovery module, as
they perform one-time setup (e.g. setting up logger).

Test: `mmma -j bootable/recovery` with
      aosp_{angler,bullhead,fugu,dragon,marlin}-userdebug
Test: recovery_host_test; recovery_unit_test; recovery_component_test;
      recovery_manual_test
Test: Build and boot into recovery image on angler.
Change-Id: Ic4444f87a2f123557c71085f81dc2b2764c05ed8
Merged-In: Ic4444f87a2f123557c71085f81dc2b2764c05ed8
2018-05-17 09:59:26 -07:00
Tao Bao
fd0ace8f6e Move stuff from recovery into librecovery.
Move most source files into librecovery so they become testable. Only
recovery_main.cpp and logging.cpp are built into recovery module, as
they perform one-time setup (e.g. setting up logger).

Test: `mmma -j bootable/recovery` with
      aosp_{angler,bullhead,fugu,dragon,marlin}-userdebug
Test: recovery_host_test; recovery_unit_test; recovery_component_test;
      recovery_manual_test
Test: Build and boot into recovery image on angler.
Change-Id: Ic4444f87a2f123557c71085f81dc2b2764c05ed8
(cherry picked from commit bf4c006d7bc8a4517c82399bbffd9cb09971c0b4)
2018-05-16 22:31:41 -07:00
Tao Bao
554a876cc1 Merge "Clean up the Makefile for recovery and tests." am: 1f0b9962b0
am: 0c2998ffe3

Change-Id: I5d4765279fa10317e7f8d61cc4f0972baf10040e
2018-05-11 18:06:19 -07: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
81726e4430 Merge "Move device.cpp into librecovery_ui." am: db6dc14bff
am: fb8636f48f

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

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

Change-Id: Id611c10a6f84afdec38ca01d6932f4c964f9c2ac
2018-05-11 10:57:40 -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
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
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
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
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
android-build-prod (mdb)
13415d9138 Merge changes I1cc5d702,I32ab9854 am: 420f7f8df4
am: c4ba6b738f

Change-Id: I7696fb68e13e214ee830b9de1bf66dc6f1cac691
2018-05-04 10:43:36 -07: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
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
2ac56afc7b 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
(cherry picked from commit c241cb662440551eb0d2f42345f7ee08cf60a7dd)
2018-04-30 21:04:55 -07:00
android-build-prod (mdb)
1c1737b660 Merge "Merge libmounts into libotautil." am: 686353215f
am: cddf5dbf67

Change-Id: I57bcd1195084d2e60861aa5b410e2eb50c41c3c3
2018-04-28 09:55:49 -07: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
android-build-prod (mdb)
cf277abb8f Merge "Rename the dir for SystemUpdaterSample." am: a544bfab2b
am: 4b52553cbb

Change-Id: If4113d931c95cb0e076035a384a9a5193e4a8369
2018-04-25 17:26:33 -07:00
Tao Bao
32118f6690 Rename the dir for SystemUpdaterSample.
Also replace the occurrence in README.md and PREUPLOAD.cfg.

Test: mmma -j bootable/recovery
Change-Id: I04c0ef00dd64f49e008ad2a4a2c1e8eaed76bf8d
2018-04-25 15:34:37 -07:00
Tao Bao
8206907cf0 Merge "update_verifier: Move to Soong." am: ed022fccdf
am: 9bc286dd71

Change-Id: I17da945eaa609f40d9601109c435110599ed88f6
2018-04-23 15:47:30 -07:00
Tao Bao
afb9fc29a2 update_verifier: Move to Soong.
Test: mmma -j bootable/recovery
Change-Id: I3a3574c89318304231c01f7633d32ece31df098c
2018-04-20 14:26:38 -07:00
Chih-Hung Hsieh
4d92ca3f65 Merge "Disable lld where it fails." am: 0c8eea86f9
am: dd2277a9bd

Change-Id: Ic245166068d1c87a1fbcb2fa36a0141914e9cd34
2018-04-16 11:48:42 -07:00
Chih-Hung Hsieh
83847e6ed9 Disable lld where it fails.
Bug: 77543887
Test: make checkbuild and boot
Change-Id: I4134a8eec592dac347c84cc7dc3f9f99f27bc50c
2018-04-16 09:39:07 -07:00
Pirama Arumuga Nainar
9e76ce0ad6 Use the non-LTO, non-PGO version of libhwbinder
am: 2ca4a403e7

Change-Id: Ic2cf355dd9faa2ed1c04f2673a41974df2c9f4a9
2018-04-10 11:29:27 -07:00
Pirama Arumuga Nainar
2ca4a403e7 Use the non-LTO, non-PGO version of libhwbinder
Bug: http://b/77320844

Android.mk doesn't have support for PGO either.  This causes linker
error (about missing __llvm_profile symbols) in the PGO-instrumentation
enabled builds in the release branch.

Test: m ANDROID_PGO_INSTRUMENT=ALL
Change-Id: Ib5dfdea88073bd95da2cd02e92c85bfffcca80d6
2018-04-09 17:43:25 +00:00
Yi Kong
bbb5b84c51 Merge "Use non-LTO variant of libhwbinder" into pi-dev
am: 7fdb6355e4

Change-Id: Ib78dee41815c782e0377d2e1fcb3754010ec8bb2
2018-04-06 13:36:38 -07:00
Yi Kong
10b3faa10d Use non-LTO variant of libhwbinder
... as a workaround for build system does not currently infer non-LTO
usage from Android.mk.

Test: m
Bug: 77320844
Change-Id: I6e9954b895051cc20408a30d0761e164e4c5bfd9
2018-04-03 12:45:45 -07:00
Tao Bao
8c749a39bd Merge "Move a few modules to Soong." am: d408a865af
am: 47be7bcdba

Change-Id: Iba006e5a0df67382f258d1ba60728f4c54003360
2018-04-02 18:14:21 +00:00
Treehugger Robot
d408a865af Merge "Move a few modules to Soong." 2018-04-02 16:05:37 +00:00
Jiachen Zhao
4e12cd95be Merge "Create folder for SystemUpdate sample app." am: f0e2811092
am: c6152041fd

Change-Id: I48ec477c7e4bc0dea32bfe89032fefee75d30c16
2018-03-31 15:48:35 +00:00
Jiachen Zhao
051b968d7b Create folder for SystemUpdate sample app.
Test: no functional changes.

Change-Id: I2e8c654086ca49063c59ae0529e190323c84d6ad
2018-03-30 18:22:36 -07:00
Tao Bao
d2f2ad6a3c Move a few modules to Soong.
libmounts
librecovery_ui_default
librecovery_ui_wear
librecovery_ui_vr
libverifier
recovery-persist
recovery-refresh

They are all trivially converted.

Test: mmma -j bootable/recovery
Change-Id: Id783b3eec32bd15e74f42df17053732db5666675
2018-03-26 21:35:41 -07:00
Tao Bao
f6d25962bb Specify a default module for TARGET_RECOVERY_UI_LIB.
This aligns the logic between {default,wear,vr}_device.cpp. They all
implement their default make_device() functions, but using different
RecoveryUI variants.

This CL creates a new module librecovery_ui_default that uses
ScreenRecoveryUI, which serves as the default value for
TARGET_RECOVERY_UI_LIB.

Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug;
      `mmma -j bootable/recovery` respectively.
Change-Id: I6755b09d96e4809bb1c17142895fe1cad95e5a02
Merged-In: I6755b09d96e4809bb1c17142895fe1cad95e5a02
2018-03-26 19:45:06 -07:00
Tao Bao
f7e8012be3 Specify a default module for TARGET_RECOVERY_UI_LIB.
This aligns the logic between {default,wear,vr}_device.cpp. They all
implement their default make_device() functions, but using different
RecoveryUI variants.

This CL creates a new module librecovery_ui_default that uses
ScreenRecoveryUI, which serves as the default value for
TARGET_RECOVERY_UI_LIB.

Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug;
      `mmma -j bootable/recovery` respectively.
Change-Id: I6755b09d96e4809bb1c17142895fe1cad95e5a02
(cherry picked from commit 73fd036be8c7563423be0c3adbd4205c4f1bc2f5)
2018-03-26 15:26:34 -07:00
Tianjie Xu
5fe5eb67ef Factor out a menu class for screen ui
Also consolidate the duplicate codes to draw the menu in ScreenRecoveryUI
and WearRecoveryUI. This helps us to support text icons as menu in the
future.

Bug: 74397117
Test: Check the menu under recovery on bullhead and a wear device.
Change-Id: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b
Merged-In: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b
2018-03-23 23:57:29 -07:00
Tianjie Xu
ba0460c981 Factor out a menu class for screen ui
Also consolidate the duplicate codes to draw the menu in ScreenRecoveryUI
and WearRecoveryUI. This helps us to support text icons as menu in the
future.

Bug: 74397117
Test: Check the menu under recovery on bullhead and a wear device.
Change-Id: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b
(cherry picked from commit 2b3f80068e)
2018-03-24 01:20:10 +00:00
Yifan Hong
91b48f9161 recovery: add libhidl-gen-utils depedency
introduced as a depedency to libvintf.

Test: builds
Bug: 73556059
Change-Id: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb
Merged-In: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb
2018-03-13 10:56:51 -07:00
Yifan Hong
584c52a0a1 Merge "recovery: add libhidl-gen-utils depedency" am: fc39f3ffd7
am: da5bb13507

Change-Id: I9811a65335a51006593a332f276deddf1bbf1864
2018-03-12 21:13:58 +00:00
Yifan Hong
fc39f3ffd7 Merge "recovery: add libhidl-gen-utils depedency" 2018-03-12 20:50:25 +00:00
Yifan Hong
495c521ed3 recovery: add libhidl-gen-utils depedency
introduced as a depedency to libvintf.

Test: builds
Bug: 73556059
Change-Id: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb
2018-03-07 18:35:15 -08:00
Tao Bao
399febd111 Merge "Export fuse_sideload.h for libfusesideload." am: ddf93c0055
am: 9b0c133ff5

Change-Id: I9576800cae927de195baddef2141f7e1ef01082b
2018-03-07 22:24:13 +00:00
Tao Bao
15bc28727a Merge "minadbd: Move to Soong." am: 56160b2b03
am: 734f76fc38

Change-Id: Ic7c86ba406ab051ddb0da32544290196e1d4d779
2018-03-07 19:18:19 +00:00
Tao Bao
4b51c3ab40 Export fuse_sideload.h for libfusesideload.
Move the module into a separate directory so that we can export only the
expected header.

With this change, minadbd no longer needs to include bootable/recovery.

Test: mmma -j bootable/recovery
Change-Id: I69b888ceb160a33a67d79c5bda208dc17ad6ed86
2018-03-07 10:01:51 -08:00
Tao Bao
8c7761edec minadbd: Move to Soong.
Test: mmma -j bootable/recovery
Change-Id: Ic4cd676a842f0e8c4735cc6731fcbf13b844510c
2018-03-06 20:36:35 -08:00