Commit Graph
7169 Commits
Author SHA1 Message Date
Tianjie Xuandandroid-build-merger 67a3ffc22f Merge "Move out the code to parse block map in MemMap"
am: f1cbd2f7f2

Change-Id: I630bae5c6be83a4e3f300542b45a10c4b31967a6
2019-03-26 16:09:33 -07:00
Tianjie XuandGerrit Code Review f1cbd2f7f2 Merge "Move out the code to parse block map in MemMap" 2019-03-26 21:52:40 +00:00
xunchang 625c588c0f Move out the code to parse block map in MemMap
We will reuse them to implement the fuse provider from block maps.

Test: unit tests pass, sideload an OTA
Change-Id: Iaa409d19569c4ccc0bb24e12518044fcddb45c69
2019-03-26 11:47:27 -07:00
Tianjie Xuandandroid-build-merger 45898d8bb4 Merge "Move librecovery_ui to a sub-directory"
am: 6287253eb4

Change-Id: Ib055c175eab1857713d5d5bed63fd91ed43e881b
2019-03-22 08:15:37 -07:00
Tianjie XuandGerrit Code Review 6287253eb4 Merge "Move librecovery_ui to a sub-directory" 2019-03-22 15:05:00 +00:00
Tianjie Xu 8f397309b4 Move librecovery_ui to a sub-directory
This helps to expose librecovery_ui for device specific RecoveryUi.

Bug: 76436783
Test: mma, unit tests pass
Change-Id: Ic6c3d301d5833e4a592e6ea9d9d059bc4e4919be
(cherry picked from commit b5108c372c)
2019-03-21 10:46:11 -07:00
Tianjie Xuandandroid-build-merger 3c21700fcd Merge "Move apply_from_sdcard to fuse_sdcard_install"
am: 3c61cd02cf

Change-Id: Idd0f65f979145b572e30bd9b8b38d477f2b7e185
2019-03-20 11:07:00 -07:00
Tianjie Xuandandroid-build-merger d7eba6248b Merge "Remove the provider_vtab"
am: 2037c60de4

Change-Id: I691e88cc2b12ac142b694b83e5756df208677dc5
2019-03-20 11:01:35 -07:00
Tianjie XuandGerrit Code Review 3c61cd02cf Merge "Move apply_from_sdcard to fuse_sdcard_install" 2019-03-20 17:43:46 +00:00
Tianjie XuandGerrit Code Review 2037c60de4 Merge "Remove the provider_vtab" 2019-03-20 17:43:30 +00:00
xunchang 3cc23d5eac Move apply_from_sdcard to fuse_sdcard_install
Move the sdcard installation function and all helper functions to a
separate file, and drop the dependency on common.h.

In the future, we want to move these functions into the install class.

Bug: 127071893
Test: unit tests pass
Change-Id: I0b7f7cbf0b68918e638e13878ca28bfca367088a
2019-03-19 23:05:13 -07:00
Tianjie Xuandandroid-build-merger 4aa4bf5e19 Merge "Create a FuseDataProvider base class"
am: eeea86f5fd

Change-Id: I9a7fc19e2897cb123a27a66f6a291a92b4653fe1
2019-03-19 13:52:17 -07:00
Tianjie XuandGerrit Code Review eeea86f5fd Merge "Create a FuseDataProvider base class" 2019-03-19 20:34:58 +00:00
xunchang 5e6832a24d Remove the provider_vtab
It's no longer needed with the newly added FuseDataProvider class. Also
cleans up the parameters for run_fuse_sideload.

Bug: 127071893
Test: unit tests pass, run a sideload
Change-Id: I1ccd6798d187cfc6ac9f559ffb3f3edf08dad55c
2019-03-19 13:03:59 -07:00
xunchang ea2912f187 Create a FuseDataProvider base class
The fuse data provider for adb/sdcard shares common code and structures.
This cl creates a FuseDataProvider base class and provides
implementations for adb and sdcard.

In the follow cls, we can kill the provider_vtab struct; and also add
another implementation to parse a block map file and provides data.

Test: unit tests pass, sideload a package, apply a package from sdcard
Change-Id: If8311666a52a2e3c0fbae0ee9688fa6d01e4ad09
2019-03-19 11:11:58 -07:00
Tao Baoandandroid-build-merger c4148b529a Merge "Skip calling verify_package_compatibility when resuming."
am: 98beb6414b

Change-Id: I32bc699f4f009bee490ff509bd8503d81766bf30
2019-03-18 16:21:59 -07:00
Treehugger RobotandGerrit Code Review 98beb6414b Merge "Skip calling verify_package_compatibility when resuming." 2019-03-18 23:10:10 +00:00
Tao Bao 032403fb75 Skip calling verify_package_compatibility when resuming.
android::vintf::VintfObjectRecovery::CheckCompatibility() may try to
mount partitions in order to read the needed files, which may not be
feasible when resuming an interrupted update. This CL changes the logic
to enforce compatibility check on fresh install only.

Fix: 122864541
Test: Sideloading on taimen keeps working.
Test: Sideload a package by setting the retry bit. Check that
      compatibility check is skipped.
Change-Id: I018a0c802c85a0e84a6f2aac50630a677d64382a
2019-03-18 13:32:04 -07:00
Tianjie Xuandandroid-build-merger cd73207f50 Merge "Implement FilePackage class"
am: 698dc08561

Change-Id: Ie64018611e6e36ca0e9ed1539152d425c65307b3
2019-03-15 10:55:04 -07:00
Tianjie XuandGerrit Code Review 698dc08561 Merge "Implement FilePackage class" 2019-03-15 17:40:52 +00:00
xunchang 37304f3cc9 Implement FilePackage class
This is another implementation of the Package class. And we will later
need it when reading the package from FUSE.

Bug: 127071893
Test: unit tests pass, sideload a file package on sailfish
Change-Id: I3de5d5ef60b29c8b73517d6de3498459d7d95975
2019-03-14 15:35:09 -07:00
Tao Baoandandroid-build-merger 37b1520682 Merge "Start charger at /system/bin/charger."
am: d5bbec7750

Change-Id: I01e153c07c33aefda9e94cde8aaed819cc52b31d
2019-03-14 10:05:17 -07:00
Tao BaoandGerrit Code Review d5bbec7750 Merge "Start charger at /system/bin/charger." 2019-03-14 16:56:29 +00:00
xunchangandandroid-build-merger b2d56cb5ff Merge "Update_verifier: Remove the support for legacy text format CareMap"
am: 2e6fbfc31e

Change-Id: If9cd6ba2cf97395d05575eeb842176bc6ab1e5bf
2019-03-14 04:10:07 -07:00
Treehugger RobotandGerrit Code Review 2e6fbfc31e Merge "Update_verifier: Remove the support for legacy text format CareMap" 2019-03-14 11:00:30 +00:00
Tao Baoandandroid-build-merger 6105a6fb6e Merge "update_verifier: Add some missing #include's."
am: 05f9a8e100

Change-Id: Icd531dd8a88a4c49c288edf5449e93e81ddde203
2019-03-13 19:25:35 -07:00
Treehugger RobotandGerrit Code Review 05f9a8e100 Merge "update_verifier: Add some missing #include's." 2019-03-14 02:10:18 +00:00
Tao Bao c89c394b46 update_verifier: Add some missing #include's.
<stdint.h> for uint8_t; <stdlib.h> for free(3); <thread> for
std::thread.

Test: mmma -j bootable/recovery
Test: Run unit tests on crosshatch.
Change-Id: Id99b29b3d514f4e453983599c8b1aa6b0fab4ef8
2019-03-13 15:45:39 -07:00
xunchang aaa6103ae7 Update_verifier: Remove the support for legacy text format CareMap
We have already switched to the protobuf format for new builds, and
the downgrade packages will require a data wipe. So it should be safe
to drop the support for text format.

This also helps to save the issue when users sideload a package with a
pending OTA, because the new CareMap contains the fingerprint of the
intended build.

Bug: 128536706
Test: unit tests pass, run update_verifier with legacy CareMap
Change-Id: I1c4d0e54ec591f16cc0a65dac76767725ff9e7c4
2019-03-13 15:24:13 -07:00
Tianjie Xuandandroid-build-merger 682cd4fbc4 Merge "Use the package class for wipe packages"
am: 2a33682ef5

Change-Id: I443b7120d47083bdc31412bc2d49dd61be4ba848
2019-03-12 21:54:03 -07:00
Tianjie XuandGerrit Code Review 2a33682ef5 Merge "Use the package class for wipe packages" 2019-03-13 02:11:47 +00:00
xunchang 55e3d22223 Use the package class for wipe packages
The wipe package used to open the zip file directly from the content
string. Switch to use the interface from the new package class instead.

Bug: 127071893
Test: unit tests pass
Change-Id: I990e7f00c5148710722d17140bab2e343eea3b6b
2019-03-12 15:10:41 -07:00
Tao Baoandandroid-build-merger 7b8303f072 Merge "minui: Managed FDs with smart pointers."
am: fc7a0dc3a2

Change-Id: I0cddcea8559d8aa90db80be4a5f3ef5d667ad139
2019-03-12 14:23:25 -07:00
Tao BaoandGerrit Code Review fc7a0dc3a2 Merge "minui: Managed FDs with smart pointers." 2019-03-12 21:05:41 +00:00
Tao Baoandandroid-build-merger ea37122996 Merge "minui: Fix the wrong move of the callback."
am: aefc9e3ba9

Change-Id: I2bdfb43f7d161de8cda635a48547db15ce05438c
2019-03-11 16:11:13 -07:00
Tao Bao 835bf09a14 minui: Managed FDs with smart pointers.
Also clean up a few variable names.

Test: Boot into recovery. Check key inputs.
Change-Id: I058475ac22f3db8523bd8aa30ccb61be1ef45559
2019-03-11 15:59:09 -07:00
Tao BaoandGerrit Code Review aefc9e3ba9 Merge "minui: Fix the wrong move of the callback." 2019-03-11 22:51:50 +00:00
Tianjie Xuandandroid-build-merger d4f28312dc Merge "Create a wrapper class for update package"
am: ba9965199a

Change-Id: I47c82792b37d0e720ab54876915c8aba288382c7
2019-03-11 13:13:57 -07:00
Tianjie XuandGerrit Code Review ba9965199a Merge "Create a wrapper class for update package" 2019-03-11 19:53:57 +00:00
Xin Liandandroid-build-merger c4c7abfb41 [automerger skipped] Merge "DO NOT MERGE - Merge PPRL.190305.001 into master"
am: 6c54127462 -s ours
am skip reason: subject contains skip directive

Change-Id: I77cd31b071f61d3d010af29408c732134d9b7028
2019-03-11 12:52:32 -07:00
Xin Liandandroid-build-merger 645f73ac4b [automerger skipped] DO NOT MERGE - Merge PPRL.190305.001 into master
am: 3399fdabf5 -s ours
am skip reason: subject contains skip directive

Change-Id: I76691bb68b90c6cc4165c64b90daeb3bb71b77e1
2019-03-11 12:31:39 -07:00
Tao Bao dfdf63501e minui: Fix the wrong move of the callback.
The input_cb in ev_init() should be shared among the detected input
devices.

Test: Boot into recovery. Check key inputs.
Change-Id: I0315f6a23625bacedd333fefacbf4ac6797bc1fd
2019-03-11 12:07:11 -07:00
Treehugger RobotandGerrit Code Review 6c54127462 Merge "DO NOT MERGE - Merge PPRL.190305.001 into master" 2019-03-11 18:56:28 +00:00
xunchang f07ed2efeb Create a wrapper class for update package
Creates a new class handle the package in memory and package read from fd.
Define the new interface functions, and make approximate changes to the
verify and install functions.

Bug: 127071893
Test: unit tests pass, sideload a package
Change-Id: I66ab00654df92471184536fd147b237a86e9c5b5
2019-03-11 10:43:52 -07:00
Xin Li 3399fdabf5 DO NOT MERGE - Merge PPRL.190305.001 into master
Bug: 127812889
Change-Id: Ieceaef8b4dd56737a5836dd5e968b609cd084d36
2019-03-11 09:13:10 -07:00
Tianjie Xuandandroid-build-merger de5ba7ab97 Merge "Add a new entry in wipe package to list all wipe partitions"
am: a8969842ae

Change-Id: I436eebb747d7474c5cae754e6c1d2f6ad0546b56
2019-03-07 16:51:46 -08:00
Tianjie XuandGerrit Code Review a8969842ae Merge "Add a new entry in wipe package to list all wipe partitions" 2019-03-07 22:14:43 +00:00
xunchang e0d991ceca Add a new entry in wipe package to list all wipe partitions
This gives us finer control over the partitions to wipe on the host
side.

Bug: 127492427
Test: unit tests pass, install a wipe package on sailfish
Change-Id: I612f8bac743a310f28e365b490ef388b278cfccb
2019-03-06 15:37:28 -08:00
Tao Baoandandroid-build-merger 4e95d7503e Merge "Use O_CLOEXEC at a few places."
am: e3857ca43e

Change-Id: If5b1622ca66d0722107bdac5daef1eda823cdf20
2019-03-01 16:14:07 -08:00
Treehugger RobotandGerrit Code Review e3857ca43e Merge "Use O_CLOEXEC at a few places." 2019-03-02 00:04:26 +00:00