Commit graph

7571 commits

Author SHA1 Message Date
Tianjie Xu
b5108c372c 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
2019-03-21 00:45:37 -07:00
Tianjie Xu
9d2a945e9b Merge "Move apply_from_sdcard to fuse_sdcard_install" am: 3c61cd02cf am: 3c21700fcd
am: c1dfb51ae3

Change-Id: I273c41fe713965485d604344d1d44f31a852e892
2019-03-20 11:34:19 -07:00
Tianjie Xu
c1dfb51ae3 Merge "Move apply_from_sdcard to fuse_sdcard_install" am: 3c61cd02cf
am: 3c21700fcd

Change-Id: I11dd7813aa0d43688b4856ee9a1508fe1de9fdee
2019-03-20 11:17:10 -07:00
Tianjie Xu
9b177eb32d Merge "Remove the provider_vtab" am: 2037c60de4 am: d7eba6248b
am: b3025d752d

Change-Id: If5419d0e263442b7ebd7ec95e972fb67e2f6fc94
2019-03-20 11:10:04 -07:00
Tianjie Xu
3c21700fcd Merge "Move apply_from_sdcard to fuse_sdcard_install"
am: 3c61cd02cf

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

Change-Id: Idf8762f7e39c165514710f0afd98bc485c5e9d9b
2019-03-20 11:05:51 -07:00
Tianjie Xu
d7eba6248b Merge "Remove the provider_vtab"
am: 2037c60de4

Change-Id: I691e88cc2b12ac142b694b83e5756df208677dc5
2019-03-20 11:01:35 -07:00
Tianjie Xu
3c61cd02cf Merge "Move apply_from_sdcard to fuse_sdcard_install" 2019-03-20 17:43:46 +00:00
Tianjie Xu
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 Xu
61307a2e3c Merge "Create a FuseDataProvider base class" am: eeea86f5fd am: 4aa4bf5e19
am: 77a2ff12d7

Change-Id: I851a7a2947b7abfbad6e0331b581d8eb320ea89d
2019-03-19 14:00:22 -07:00
Tianjie Xu
77a2ff12d7 Merge "Create a FuseDataProvider base class" am: eeea86f5fd
am: 4aa4bf5e19

Change-Id: I7fd63a6d23c2e17ffc4fe403c15df86b4e2c76da
2019-03-19 13:56:19 -07:00
Tianjie Xu
4aa4bf5e19 Merge "Create a FuseDataProvider base class"
am: eeea86f5fd

Change-Id: I9a7fc19e2897cb123a27a66f6a291a92b4653fe1
2019-03-19 13:52:17 -07:00
Tianjie Xu
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 Bao
c5f06d7dc8 Merge "Skip calling verify_package_compatibility when resuming." am: 98beb6414b am: c4148b529a
am: db9dabb826

Change-Id: Ic4948239024645f99c96bda5e41524bfe4d07d7d
2019-03-18 16:39:28 -07:00
Tao Bao
db9dabb826 Merge "Skip calling verify_package_compatibility when resuming." am: 98beb6414b
am: c4148b529a

Change-Id: I7f59a1eb51e83443b77f8ae61139af12149eaca8
2019-03-18 16:27:01 -07:00
Tao Bao
c4148b529a Merge "Skip calling verify_package_compatibility when resuming."
am: 98beb6414b

Change-Id: I32bc699f4f009bee490ff509bd8503d81766bf30
2019-03-18 16:21:59 -07:00
Treehugger Robot
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 Xu
b44a946380 Merge "Implement FilePackage class" am: 698dc08561 am: cd73207f50
am: 8a9a4a1e05

Change-Id: I91b9d1f03cfc92a12e87b95fab750ccad69c8213
2019-03-15 11:07:10 -07:00
Tianjie Xu
8a9a4a1e05 Merge "Implement FilePackage class" am: 698dc08561
am: cd73207f50

Change-Id: I622cf88e2c2f5a431e20499bb03537c0ad2f84e1
2019-03-15 11:03:07 -07:00
Tianjie Xu
cd73207f50 Merge "Implement FilePackage class"
am: 698dc08561

Change-Id: Ie64018611e6e36ca0e9ed1539152d425c65307b3
2019-03-15 10:55:04 -07:00
Tianjie Xu
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 Bao
98e13f7326 Merge "Start charger at /system/bin/charger." am: d5bbec7750 am: 37b1520682
am: e6136dca31

Change-Id: Ib84bb4d5ae1185d069b721d15da5ace581a6f099
2019-03-14 10:15:53 -07:00
Tao Bao
e6136dca31 Merge "Start charger at /system/bin/charger." am: d5bbec7750
am: 37b1520682

Change-Id: Ib6b2469720c0fda7c7a322b5c1d7e2a859da30c0
2019-03-14 10:10:12 -07:00
Tao Bao
37b1520682 Merge "Start charger at /system/bin/charger."
am: d5bbec7750

Change-Id: I01e153c07c33aefda9e94cde8aaed819cc52b31d
2019-03-14 10:05:17 -07:00
Tao Bao
d5bbec7750 Merge "Start charger at /system/bin/charger." 2019-03-14 16:56:29 +00:00
xunchang
52058b989c Merge "Update_verifier: Remove the support for legacy text format CareMap" am: 2e6fbfc31e am: b2d56cb5ff
am: d17b03a893

Change-Id: Id9215d5bfe0507d6a0b8647a4d59d2d6c09edc76
2019-03-14 04:20:10 -07:00
xunchang
d17b03a893 Merge "Update_verifier: Remove the support for legacy text format CareMap" am: 2e6fbfc31e
am: b2d56cb5ff

Change-Id: Iba669502179af12900093f855b4091bb8d528171
2019-03-14 04:15:07 -07:00
xunchang
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 Robot
2e6fbfc31e Merge "Update_verifier: Remove the support for legacy text format CareMap" 2019-03-14 11:00:30 +00:00
Tao Bao
c69f388b3d Merge "update_verifier: Add some missing #include's." am: 05f9a8e100 am: 6105a6fb6e
am: 9d35593f89

Change-Id: I46f64820fe71edf506236f69fe9d90a993bfadb8
2019-03-13 19:33:39 -07:00
Tao Bao
9d35593f89 Merge "update_verifier: Add some missing #include's." am: 05f9a8e100
am: 6105a6fb6e

Change-Id: Ic511d7e2b7043905e3025493e7ad0cdb3fb05d62
2019-03-13 19:29:38 -07:00
Tao Bao
6105a6fb6e Merge "update_verifier: Add some missing #include's."
am: 05f9a8e100

Change-Id: Icd531dd8a88a4c49c288edf5449e93e81ddde203
2019-03-13 19:25:35 -07:00
Treehugger Robot
05f9a8e100 Merge "update_verifier: Add some missing #include's." 2019-03-14 02:10:18 +00:00
Tianjie Xu
223879ce4b Merge "Update_verifier: Remove the support for legacy text format CareMap" 2019-03-14 01:14:44 +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
aab4b829f4 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
(cherry picked from commit aaa6103ae7)
2019-03-13 15:26:23 -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 Xu
0a4de0865b Merge "Use the package class for wipe packages" am: 2a33682ef5 am: 682cd4fbc4
am: aac4903a64

Change-Id: Id5ebb2a7d8fdd0e4f14197bafce928479ee5943e
2019-03-12 23:15:54 -07:00
Tianjie Xu
aac4903a64 Merge "Use the package class for wipe packages" am: 2a33682ef5
am: 682cd4fbc4

Change-Id: I2f85ee25631805263032e67ec35511b28c06640d
2019-03-12 22:43:55 -07:00
Tianjie Xu
682cd4fbc4 Merge "Use the package class for wipe packages"
am: 2a33682ef5

Change-Id: I443b7120d47083bdc31412bc2d49dd61be4ba848
2019-03-12 21:54:03 -07:00
Tianjie Xu
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 Bao
28e7cca4cb Merge "minui: Managed FDs with smart pointers." am: fc7a0dc3a2 am: 7b8303f072
am: 7d9780c822

Change-Id: I6a3ff3ce19dab36e7c8ffbb4d1c6bd4804b83a1e
2019-03-12 14:47:33 -07:00
Tao Bao
7d9780c822 Merge "minui: Managed FDs with smart pointers." am: fc7a0dc3a2
am: 7b8303f072

Change-Id: Ibf7bb5aec11fe3f236a15b2e30db43d09dc60e31
2019-03-12 14:43:31 -07:00
Tao Bao
7b8303f072 Merge "minui: Managed FDs with smart pointers."
am: fc7a0dc3a2

Change-Id: I0cddcea8559d8aa90db80be4a5f3ef5d667ad139
2019-03-12 14:23:25 -07:00