Commit Graph

4674 Commits

Author SHA1 Message Date
Luke Song edc6b52f00 Introduce VR recovery ui
A version of screen ui with specific adjustments for vr device
compatibility.

Cherry picked from commit a44dba7f4e

Bug: 37779982
Test: "adb reboot recovery" to view
Change-Id: If6b0f26c1b587f8d0176060685b5efb6c67593b1
2017-07-06 21:53:00 +00:00
TreeHugger Robot bee95d6866 Merge "recovery: replace make_ext4 with e2fsprogs" into oc-dr1-dev 2017-07-05 22:33:35 +00:00
Tao Bao f95e686dd0 screen_ui: Compute the top and bottom gaps.
We're not actually following the gaps as in the comments. For example,
Nexus 6P is supposed to use 220dp and 194dp gaps (top and bottom
respectively), but the actual numbers are 185dp and 194dp. Because the
animation icon and text sizes don't match the ones claimed (animation:
expected 200dp or 700px, actual 800px; text: claimed 14sp, actual 76px).
The top gap changes (shrinks) as we compute the baselines bottom-up.

This CL switches to using computed gaps: the major UI elements always
stay vertically centered, with identical top and bottom gaps.

Bug: 63093285
Test: 'Run graphics test' on angler/volantis/fugu/ryu.
Change-Id: I3cadbb34f728cf034afa47ac02a6deba8cb6b4e7
(cherry picked from commit 3250f72360)
2017-06-29 18:23:21 -07:00
Jin Qian 619b162d67 recovery: replace make_ext4 with e2fsprogs
Execute mke2fs to create empty ext4 filesystem.
Execute e2fsdroid to add files to filesystem.

Test: enter recovery mode and wipe data
Bug: 35219933
Change-Id: I10a9f4c1f4754ad864b2df45b1f879180ab33876
Merged-In: I10a9f4c1f4754ad864b2df45b1f879180ab33876
2017-06-27 00:34:43 +00:00
Tao Bao 855eaffff6 Use Makefile variables to specify margin settings.
Instead of defining device-specific UI class, this CL allows using
Makefile variables to specify margin values directly.

Values explicitly defined via TARGET_RECOVERY_UI_MARGIN_HEIGHT and
TARGET_RECOVERY_UI_MARGIN_WIDTH will be used. Otherwise they will
default to zero.

Bug: 62732748
Test: Specify the height and width and check recovery texts.
Change-Id: Icb6f7466c8d407f877b93da38aebfdf7e6b41be7
(cherry picked from commit a92d8fb456)
2017-06-23 09:45:28 -07:00
Tao Bao 8f7547edfa screen_ui: Allow setting screen margin space.
For round screen or screens with rounded corners, we don't want to show
texts within the margin which could otherwise be invisible.

Move the density computation to ScreenRecoveryUI ctor so that the value
can be used earlier.

Note that this is similar to the existing stuff in wear UI (outer_width,
outer_height). This CL gets ScreenRecoveryUI and WearRecoveryUI one-step
closer.

Bug: 62732748
Test: Setting and not setting margin_{width,height}_ on angler. Check the
      recovery texts (recovery menu as well as 'View recovery logs').
Change-Id: Ibf6238c9cc8949a42ed8a410e1c09d55b0b5a151
(cherry picked from commit 87f4650874)
2017-06-23 09:45:23 -07:00
David Zeuthen 336cbce252 update_verifier: Support AVB.
When using AVB, PRODUCT_SUPPORTS_VERITY is not set so check for
BOARD_ENABLE_AVB as well. Also AVB sets up the root filesystem as
'vroot' so map that to 'system' since this is what is
expected. Managed to test at least that the code is at least compiled
in:

 $ fastboot --set-active=_a
 Setting current slot to 'a'...
 OKAY [  0.023s]
 finished. total time: 0.023s

 $ fastboot reboot
 rebooting...

 finished. total time: 0.050s

 $ adb wait-for-device

 $ adb logcat |grep update_verifier
 03-04 05:28:56.773   630   630 I /system/bin/update_verifier: Started with arg 1: nonencrypted
 03-04 05:28:56.776   630   630 I /system/bin/update_verifier: Booting slot 0: isSlotMarkedSuccessful=0
 03-04 05:28:56.776   630   630 W /system/bin/update_verifier: Failed to open /data/ota_package/care_map.txt: No such file or directory
 03-04 05:28:56.788   630   630 I /system/bin/update_verifier: Marked slot 0 as booted successfully.
 03-04 05:28:56.788   630   630 I /system/bin/update_verifier: Leaving update_verifier.

Bug: 62464819
Test: Manually tested on device using AVB bootloader.
Merged-In: I13c0fe1cc5d0f397e36f5e62fcc05c8dfee5fd85
Change-Id: I2834b17688053411e7b904e31df9c83bf904cd56
2017-06-22 18:04:26 -04:00
Jeff Vander Stoep 3445b94c89 Fix "No file_contexts" warning
am: e35926e1af

Change-Id: I32fdf32429d8574d901e94370bbc5a8db674542d
2017-06-16 02:58:00 +00:00
Jeff Vander Stoep e35926e1af Fix "No file_contexts" warning
Fixed by Loading the file_contexts specified in libselinux, whereas
previously recovery loaded /file_contexts which no longer exists.

Bug: 62587423
Test: build and flash recovery on Angler. Warning is gone.
Test: Wipe data and cache.
Test: sideload OTA
Change-Id: I11581c878b860ac5f412e6e8e7acde811f37870f
(cherry picked from commit 2330dd8733)
2017-06-15 21:24:29 +00:00
Tianjie Xu 1905e3665a Merge "kill package_extract_dir" am: 99e7216907 am: 49f9c969eb am: 66e53f59b9
am: d1b65aa645

Change-Id: Idb46742fd2b73e927a14e12dd1b7ae5854e35334
2017-05-31 22:01:19 +00:00
Tianjie Xu d1b65aa645 Merge "kill package_extract_dir" am: 99e7216907 am: 49f9c969eb
am: 66e53f59b9

Change-Id: Iec9ae5171aaa2d8a0eb92de12b78e65aeb0136a4
2017-05-31 21:59:21 +00:00
Tianjie Xu 66e53f59b9 Merge "kill package_extract_dir" am: 99e7216907
am: 49f9c969eb

Change-Id: If8936fb2b090b83ad6fba39668d60e324662a42e
2017-05-31 21:57:18 +00:00
Tianjie Xu 49f9c969eb Merge "kill package_extract_dir"
am: 99e7216907

Change-Id: Ibc08736b0108151a4a023d971bd608654138d45e
2017-05-31 21:54:18 +00:00
Tianjie Xu 99e7216907 Merge "kill package_extract_dir" 2017-05-31 21:49:03 +00:00
Tianjie Xu 177076fcd5 Merge "Implement a custom deflate sink function for bspatch" am: 764eb215af am: 0f8e67088a am: 4a2cfffd33
am: d38aec8de6

Change-Id: Ibdb1b48633736802bff664973fcd4c08dc9ac93a
2017-05-26 23:32:43 +00:00
Tianjie Xu d38aec8de6 Merge "Implement a custom deflate sink function for bspatch" am: 764eb215af am: 0f8e67088a
am: 4a2cfffd33

Change-Id: Ifd32f346adefb90d043bccc3d6f20060ae3ca45d
2017-05-26 23:20:07 +00:00
Tianjie Xu 4a2cfffd33 Merge "Implement a custom deflate sink function for bspatch" am: 764eb215af
am: 0f8e67088a

Change-Id: I8e7499d97f6acb505e42b9935d3b21a41695dba7
2017-05-26 23:15:36 +00:00
Tianjie Xu 0f8e67088a Merge "Implement a custom deflate sink function for bspatch"
am: 764eb215af

Change-Id: Ifac391f38d692a5312b4b03ff5eaf701da6d7d41
2017-05-26 23:13:36 +00:00
Tianjie Xu 764eb215af Merge "Implement a custom deflate sink function for bspatch" 2017-05-26 23:07:13 +00:00
Tianjie Xu a897f95bd5 Implement a custom deflate sink function for bspatch
This new sink function works as a wrapper of the old sink. It deflates
the available patch data on the fly. Therefore, we don't need to store
the full uncompressed patch data in memory.

Test: recovery_component_test && apply an incremental update on angler
Change-Id: I2274ec50a1607089abcc9d0954a2a748f28c3122
2017-05-26 14:05:20 -07:00
Tianjie Xu 75dee9b064 Merge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails" am: 9c1a114789 am: 66f02b4e71 am: aef046255a
am: da1fcf7ab2

Change-Id: Icad68a225061426e396541d0f67374a530f1dcb3
2017-05-24 18:56:34 +00:00
Tianjie Xu da1fcf7ab2 Merge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails" am: 9c1a114789 am: 66f02b4e71
am: aef046255a

Change-Id: Ib9ce75418ca56c2bb9fa68719371628b1763aa03
2017-05-24 18:54:04 +00:00
Tianjie Xu aef046255a Merge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails" am: 9c1a114789
am: 66f02b4e71

Change-Id: I6e745992d384b6d870b2549d16dc40100175493e
2017-05-24 18:51:03 +00:00
Tianjie Xu 66f02b4e71 Merge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails"
am: 9c1a114789

Change-Id: I45afda69f82147ba02b3e4666c3a296d84a2db47
2017-05-24 18:48:04 +00:00
Tianjie Xu 9c1a114789 Merge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails" 2017-05-24 18:42:02 +00:00
Tianjie Xu 6957555e29 Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails
We have seen one case when bspatch failed likely due to patch
corruption. Since the package has passed verification before, we want
to reboot and retry the patch command again since there's no
alternative for users.

We won't delete the stash before reboot, and the src has passed SHA1
check. If there's an error on the patch, it will fail the package
verification during retry.

Bug: 37855643
Test: angler reboots and retries the update when bspatch fails.
Change-Id: I2ebac9621bd1f0649bb301b9a28a0dd079ed4e1d
2017-05-23 17:36:56 -07:00
Tianjie Xu 53c38b1538 kill package_extract_dir
It's only used by file-based OTA which has been deprecated for O.

Test: mma
Change-Id: I439c93155ca94554d827142c99aa6c0845cc7561
2017-05-23 17:09:45 -07:00
Tianjie Xu f158a7d29e Merge "Print SHA1 of the patch if bsdiff fails with data error" am: 1f9808bd48 am: 8f68accc9d am: 1562f41348
am: 0abe9860d8

Change-Id: Id8d4e4b369f30a33a37ca1895d5dd36eb2bf8aff
2017-05-18 22:25:55 +00:00
Tianjie Xu 0abe9860d8 Merge "Print SHA1 of the patch if bsdiff fails with data error" am: 1f9808bd48 am: 8f68accc9d
am: 1562f41348

Change-Id: I7b605673eb3cee6a615459ca9fe2fc00c532ed9d
2017-05-18 22:20:55 +00:00
Tianjie Xu 1562f41348 Merge "Print SHA1 of the patch if bsdiff fails with data error" am: 1f9808bd48
am: 8f68accc9d

Change-Id: Ic81b2812030e8267a4d0d81d4909f84d284d1743
2017-05-18 22:16:24 +00:00
Tianjie Xu 8f68accc9d Merge "Print SHA1 of the patch if bsdiff fails with data error"
am: 1f9808bd48

Change-Id: I4900198d7c45c864e1a93bbd386b4ec36ed4cdec
2017-05-18 22:11:54 +00:00
Tianjie Xu 1f9808bd48 Merge "Print SHA1 of the patch if bsdiff fails with data error" 2017-05-18 22:02:03 +00:00
Tom Cherry 05a30df508 Merge "libbootloader_message: convert to Android.bp" am: bec0d4cb94 am: 8226fd8926 am: 01bcf118d5
am: eefefc6c13

Change-Id: I3bf255d47848e773b9d0e70224abb96ae15f6110
2017-05-18 20:42:50 +00:00
Tom Cherry eefefc6c13 Merge "libbootloader_message: convert to Android.bp" am: bec0d4cb94 am: 8226fd8926
am: 01bcf118d5

Change-Id: Ie9103aedc7c0b61d505023238e0cb0ab327f7e84
2017-05-18 20:34:48 +00:00
Tom Cherry 01bcf118d5 Merge "libbootloader_message: convert to Android.bp" am: bec0d4cb94
am: 8226fd8926

Change-Id: I6a2b8df36703936560b84ec84555c3b5bb95cb0f
2017-05-18 20:31:18 +00:00
Tom Cherry 8226fd8926 Merge "libbootloader_message: convert to Android.bp"
am: bec0d4cb94

Change-Id: I0da04f8103a48f746801fdf9381571e4a812e8c3
2017-05-18 20:26:24 +00:00
Tom Cherry bec0d4cb94 Merge "libbootloader_message: convert to Android.bp" 2017-05-18 20:18:00 +00:00
Tianjie Xu 398092834b Fix the input parameter for "set_retry_bootloader_message" am: 539b08cfcf
am: 1c120067c2

Change-Id: I45e25f7309f90ca3317d94d3f66e055fc02543b3
2017-05-18 18:13:46 +00:00
Tianjie Xu 1c120067c2 Fix the input parameter for "set_retry_bootloader_message"
am: 539b08cfcf

Change-Id: Idd730e8e9ae3dbf27bc20b4ff2c5a3e73e28ce5d
2017-05-18 17:58:02 +00:00
Tianjie Xu 6b2aaf1a49 Merge "Fix the input parameter for "set_retry_bootloader_message"" am: 0e60ccdc76 am: 1d6f88675b am: f1546892e1
am: 1941f61fb6

Change-Id: I1148a20467db687dac5de9150936d0bb3516f8dc
2017-05-17 20:35:15 +00:00
Tianjie Xu 1941f61fb6 Merge "Fix the input parameter for "set_retry_bootloader_message"" am: 0e60ccdc76 am: 1d6f88675b
am: f1546892e1

Change-Id: If5d97891ffae307ada2948b771f113e82235fd73
2017-05-17 20:20:00 +00:00
Tianjie Xu f1546892e1 Merge "Fix the input parameter for "set_retry_bootloader_message"" am: 0e60ccdc76
am: 1d6f88675b

Change-Id: I280282a1b2676e3030a0327239781f50fb7a64d8
2017-05-17 20:17:29 +00:00
Tianjie Xu 1d6f88675b Merge "Fix the input parameter for "set_retry_bootloader_message""
am: 0e60ccdc76

Change-Id: I881182909805359cb1042a25bb7d942586fbbaab
2017-05-17 20:13:31 +00:00
Tianjie Xu 0e60ccdc76 Merge "Fix the input parameter for "set_retry_bootloader_message"" 2017-05-17 20:02:12 +00:00
Tianjie Xu 539b08cfcf Fix the input parameter for "set_retry_bootloader_message"
We're not updating argc & argv during get_args(), so some boot
arguments missed when we set the boot message for retry.

Bug: 38383406
Test: boot command sets correctly during retry attempt.
Change-Id: Ie8583a22fad5e0084245e3431d4018518d508dfd
(cherry picked from commit 72449c9f99)
2017-05-17 11:52:17 -07:00
Tom Cherry 600e806384 libbootloader_message: convert to Android.bp
Test: build
Change-Id: Ia0c2e141673e37eea29306817d2f4b2c944213b0
2017-05-17 11:43:29 -07:00
Tianjie Xu 72449c9f99 Fix the input parameter for "set_retry_bootloader_message"
We're not updating argc & argv during get_args(), so some boot
arguments missed when we set the boot message for retry.

Bug: 38383406
Test: boot command sets correctly during retry attempt.
Change-Id: Ie8583a22fad5e0084245e3431d4018518d508dfd
2017-05-17 18:09:35 +00:00
Tianjie Xu ce5fa5e538 Print SHA1 of the patch if bsdiff fails with data error
This will help us to identify the patch corruption.

Meanwhile fix a wrong size parameter passed to bspatch.
(patch->data.size() into patch->data.size() - patch_offset).

Also remove the only usage of "ApplyBSDiffPatchMem()" and inline its
Sink function for simplicity.

Bug: 37855643
Test: Prints SHA1 for corrupted patch in imgdiff_test.
Change-Id: Ibf2db8c08b0ded1409bb7c91a3547a6bf99c601d
2017-05-16 12:39:14 -07:00
Tao Bao 647b1e9c25 Merge "updater: Update the mkfs.f2fs argument to match f2fs-tools 1.8.0." am: 494d97fe6b am: 843ca31c4c am: 9539cdb3c0
am: 763b52dd45

Change-Id: I7dfc08a29beac241366533d9a1296ea10c25dd73
2017-05-12 22:02:48 +00:00
Tao Bao 763b52dd45 Merge "updater: Update the mkfs.f2fs argument to match f2fs-tools 1.8.0." am: 494d97fe6b am: 843ca31c4c
am: 9539cdb3c0

Change-Id: Id6209c2f0e75a3b24bf50f64896cf8a5d1f080a5
2017-05-12 21:56:48 +00:00