Commit Graph

5208 Commits

Author SHA1 Message Date
Bill Yi 4d9bd3798e Import translations. DO NOT MERGE
Change-Id: I8de15b09695dea1a53a368c942cb8a7dd30ed87d
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import
2017-09-13 08:18:22 -07:00
Tianjie Xu e69ea1bb53 Merge "Close cmd_pipe properly after updater test finishes" am: 64307daf5b am: a11601da9b am: d83c0a8715
am: df4cc8316e

Change-Id: I91f088e07e59bc555b750079a97ab46b1a274bfe
2017-09-12 20:13:27 +00:00
Tianjie Xu df4cc8316e Merge "Close cmd_pipe properly after updater test finishes" am: 64307daf5b am: a11601da9b
am: d83c0a8715

Change-Id: I07ba7aeda4f0b19cedd6b184db7700ebe9ef57f9
2017-09-12 20:00:23 +00:00
Tianjie Xu d83c0a8715 Merge "Close cmd_pipe properly after updater test finishes" am: 64307daf5b
am: a11601da9b

Change-Id: If8f66fdf17f4878c067e7d7e5505ea00c1418fb2
2017-09-12 19:50:12 +00:00
Tianjie Xu a11601da9b Merge "Close cmd_pipe properly after updater test finishes"
am: 64307daf5b

Change-Id: Ic384d9de3c559855cfe0bd122adb5e69fa996ad1
2017-09-12 19:47:11 +00:00
Tianjie Xu 64307daf5b Merge "Close cmd_pipe properly after updater test finishes" 2017-09-12 19:14:38 +00:00
Tao Bao 4d4df122a0 Merge "ui: Move locale and friends into ScreenRecoveryUI class." am: fc570c317b am: 166188c2c6 am: 547d5fd559
am: 3644617e3d

Change-Id: I3aef0a888ebdd0ed38f910ab51848a8e54bb4355
2017-09-11 22:32:43 +00:00
Tao Bao 3644617e3d Merge "ui: Move locale and friends into ScreenRecoveryUI class." am: fc570c317b am: 166188c2c6
am: 547d5fd559

Change-Id: Ic6ef12b7e4a25fb7cfcd5e79c8784bf764fda6b4
2017-09-11 22:13:40 +00:00
Tao Bao 547d5fd559 Merge "ui: Move locale and friends into ScreenRecoveryUI class." am: fc570c317b
am: 166188c2c6

Change-Id: I8f5010df98eb10f117a4391a107f956e8bbb97f4
2017-09-11 22:03:40 +00:00
Tao Bao 166188c2c6 Merge "ui: Move locale and friends into ScreenRecoveryUI class."
am: fc570c317b

Change-Id: I4e4849c837f11340b3cafdd04e678fd3f7cb4c5d
2017-09-11 21:56:40 +00:00
Tao Bao fc570c317b Merge "ui: Move locale and friends into ScreenRecoveryUI class." 2017-09-11 21:43:03 +00:00
Tianjie Xu 79327ac21d Close cmd_pipe properly after updater test finishes
Otherwise the test may fail after a large number of iterations due to
file open failure.

Bug: 65430057
Test: run recovery_component_test on sailfish for 2000 iterations.
Change-Id: I0d456284d6064467038911d63eade95740cbec2c
2017-09-11 14:38:49 -07:00
Tao Bao 2d738e620a Merge "ui: Remove text_top_." am: 568644197f am: d96ce15139 am: cce9b2c96a
am: 28459ffde3

Change-Id: I46b6b0c9211a862c88d950681ac3fc304f993f97
2017-09-11 20:00:52 +00:00
Tao Bao 28459ffde3 Merge "ui: Remove text_top_." am: 568644197f am: d96ce15139
am: cce9b2c96a

Change-Id: Ic55e5c34c7f3af84c85d0a261af9c0fc2ec4e652
2017-09-11 19:36:21 +00:00
Tao Bao cce9b2c96a Merge "ui: Remove text_top_." am: 568644197f
am: d96ce15139

Change-Id: I005f49442b63fafe5642a6e416c176361d0beff0
2017-09-11 19:31:20 +00:00
Tao Bao d96ce15139 Merge "ui: Remove text_top_."
am: 568644197f

Change-Id: I83872bc318db77036f70bb07baaade12c1b34b6e
2017-09-11 19:26:49 +00:00
Tao Bao efb49add97 ui: Move locale and friends into ScreenRecoveryUI class.
Localized texts only make sense on devices with screens.

Test: Run fake OTA on angler; check the on-screen texts.
Change-Id: I3a644294c8b1f2056cfb78b2d61a598b8ddf2acf
2017-09-11 12:19:32 -07:00
Tao Bao f51754a8b9 Merge "ui: Refactor the declaration orders." am: 79a23b30d2 am: cb94b611cf am: bd9ef0ad1a
am: 3616adceea

Change-Id: Ib61892e85e8f77e376c1780bd7efc115653c15a1
2017-09-11 19:08:53 +00:00
Tao Bao 568644197f Merge "ui: Remove text_top_." 2017-09-11 19:06:12 +00:00
Tao Bao 3616adceea Merge "ui: Refactor the declaration orders." am: 79a23b30d2 am: cb94b611cf
am: bd9ef0ad1a

Change-Id: Ib2cf6e1a218114663ebecb5f7ab2137938ea548b
2017-09-11 18:35:30 +00:00
Tao Bao bd9ef0ad1a Merge "ui: Refactor the declaration orders." am: 79a23b30d2
am: cb94b611cf

Change-Id: I70be41861c95d25849190062dd710097b7648375
2017-09-11 18:25:23 +00:00
Tao Bao cb94b611cf Merge "ui: Refactor the declaration orders."
am: 79a23b30d2

Change-Id: Icf22068baae034b480333ac358a50c9368ebdc98
2017-09-11 18:20:43 +00:00
Tao Bao 79a23b30d2 Merge "ui: Refactor the declaration orders." 2017-09-11 18:06:24 +00:00
Tao Bao 7577965ba1 ui: Refactor the declaration orders.
By grouping similar kinds together, in an order of types, constants,
ctor/dtor, all other methods and data members.

Also rename ScreenRecoveryUI::density_ to ScreenRecoveryUI::kDensity to
align with others.

Test: mmma bootable/recovery
Change-Id: I1ba2d15c05ba7be8c39762f3d9dadf1fb2130de4
2017-09-10 11:36:54 -07:00
Tao Bao cb5524c23a ui: Remove text_top_.
After the cleanup to WearRecoveryUI, text_top_ now always equals to
((text_row_ + 1) % text_rows_).

Test: Check the recovery UI and 'View recovery logs'.
Change-Id: I69a7f377bbd990db2194f9d3efae257c323c06a8
2017-09-08 23:31:31 -07:00
Tao Bao 00611ebae1 ui: Manage menu_ with std::vector. am: 17fa5c7cab
am: dd7e23a069

Change-Id: I544f2311306b2dbb9ee76803250ebe6649296aa5
2017-09-09 01:53:55 +00:00
Tao Bao dd7e23a069 ui: Manage menu_ with std::vector.
am: 17fa5c7cab

Change-Id: Ifa4f8333a445bdf92a9cc19dacd2223260dcff45
2017-09-09 01:13:25 +00:00
Tao Bao 17fa5c7cab ui: Manage menu_ with std::vector.
Prior to this CL, menu_ is allocated with a fixed length of text_rows_.
However, because we support scrollable menu in wear_ui, there might be
more menu entries than text_rows_, which would lead to out-of-bounds
array access. This CL addresses the issue by switching to std::vector.

Bug: 65416558
Test: Run 'View recovery logs' on angler.
Test: Set large margin height that leaves text_rows less than 21. Then
      run 'View recovery logs' with 21 menu entries.
Change-Id: I5d4e3a0a097039e1104eda7d494c6269053dc894
(cherry picked from commit e15d7a5104)
2017-09-08 15:28:04 -07:00
Tao Bao 190d60c626 Merge "wear_ui: Remove Print()/ShowFile()/PutChar()." am: fa4f014063 am: 5f5ccacef7 am: 53bb5ff137
am: ce2e47729e

Change-Id: I1b56b9e8112257da964657b60bd98e0816721481
2017-09-08 22:05:10 +00:00
Tao Bao 9d6cb07eec Merge "ui: Manage menu_ with std::vector." am: f51bb0f2d6 am: 4e3e42bed8 am: 77425c5e15
am: 8ca81ce581

Change-Id: I146243036bd582425a558d2f3ae96fff4b404e76
2017-09-08 22:04:56 +00:00
Tao Bao ce2e47729e Merge "wear_ui: Remove Print()/ShowFile()/PutChar()." am: fa4f014063 am: 5f5ccacef7
am: 53bb5ff137

Change-Id: I63e10488999f16429c9ada2215de716bf4aceb2e
2017-09-08 21:57:34 +00:00
Tao Bao 8ca81ce581 Merge "ui: Manage menu_ with std::vector." am: f51bb0f2d6 am: 4e3e42bed8
am: 77425c5e15

Change-Id: I6bf15912d53af213fde9225061367e1edfb4c2ec
2017-09-08 21:57:15 +00:00
Tao Bao 53bb5ff137 Merge "wear_ui: Remove Print()/ShowFile()/PutChar()." am: fa4f014063
am: 5f5ccacef7

Change-Id: I287ef8936851abe69b50e1f3ca5f5dd0d752d9d6
2017-09-08 21:53:28 +00:00
Tao Bao 77425c5e15 Merge "ui: Manage menu_ with std::vector." am: f51bb0f2d6
am: 4e3e42bed8

Change-Id: I413c3d1734c51046784b9f2b94a2305023c2a890
2017-09-08 21:53:14 +00:00
Tao Bao 5f5ccacef7 Merge "wear_ui: Remove Print()/ShowFile()/PutChar()."
am: fa4f014063

Change-Id: If47ce2f16e839c10ac8447ef69eb40392abeaf00
2017-09-08 21:51:58 +00:00
Tao Bao 4e3e42bed8 Merge "ui: Manage menu_ with std::vector."
am: f51bb0f2d6

Change-Id: I16dfb5ee848cf97ee98626183aef8fdc228c8dae
2017-09-08 21:51:44 +00:00
Tao Bao fa4f014063 Merge "wear_ui: Remove Print()/ShowFile()/PutChar()." 2017-09-08 21:44:40 +00:00
Tao Bao f51bb0f2d6 Merge "ui: Manage menu_ with std::vector." 2017-09-08 21:43:41 +00:00
Tianjie Xu 3ac63f370c Merge "Improve imgdiff for large zip files" am: 9f48641784 am: e24e90f403 am: b2dac70423
am: ff0bcf6bef

Change-Id: I1cffba42a15f7206b534fdb1cba748e9980fe29b
2017-09-08 21:14:44 +00:00
Tianjie Xu ff0bcf6bef Merge "Improve imgdiff for large zip files" am: 9f48641784 am: e24e90f403
am: b2dac70423

Change-Id: If2923c5afd304893161e1b2949c7a6afa74306f3
2017-09-08 20:50:41 +00:00
Tianjie Xu b2dac70423 Merge "Improve imgdiff for large zip files" am: 9f48641784
am: e24e90f403

Change-Id: I2692f832b720bdf966263d35f8e0a0bab8fe0699
2017-09-08 20:48:45 +00:00
Tianjie Xu e24e90f403 Merge "Improve imgdiff for large zip files"
am: 9f48641784

Change-Id: I999525af80c5423da275025d977de10399140479
2017-09-08 20:46:47 +00:00
Tianjie Xu 9f48641784 Merge "Improve imgdiff for large zip files" 2017-09-08 20:38:52 +00:00
Tao Bao f05e2bcff2 wear_ui: Remove Print()/ShowFile()/PutChar().
They're mostly identical to the ones in ScreenRecoveryUI, except for the
(legacy) use of 'text_top_'. Because wear_ui.cpp misses the change in
[1] that uses an alternate screen for viewing recovery logs.

Also clean up the included headers.

[1] commit c049163234 ('Add an alternate
screen for viewing recovery logs.').

Test: Build a wearable target recovery; `View recovery logs`.
Change-Id: Ic9208c42a11c037469f5b073ef7d9b721c14d1f3
2017-09-08 12:22:43 -07:00
Tao Bao e15d7a5104 ui: Manage menu_ with std::vector.
Prior to this CL, menu_ is allocated with a fixed length of text_rows_.
However, because we support scrollable menu in wear_ui, there might be
more menu entries than text_rows_, which would lead to out-of-bounds
array access. This CL addresses the issue by switching to std::vector.

Bug: 65416558
Test: Run 'View recovery logs' on angler.
Test: Set large margin height that leaves text_rows less than 21. Then
      run 'View recovery logs' with 21 menu entries.
Change-Id: I5d4e3a0a097039e1104eda7d494c6269053dc894
2017-09-08 10:50:07 -07:00
Bill Yi 8f84774a68 Import translations. DO NOT MERGE
Change-Id: If7aad0299a372403f2875fe3aeb60ad07acb7b47
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import
2017-09-06 06:24:06 -07:00
Tianjie Xu 2903cddb58 Improve imgdiff for large zip files
Due to the cache size limit for OTA generation, we used to split large
zip files linearly into pieces and do bsdiff on them. As a result, i) we
lose the advantage of imgdiff; ii) if there's an accidental order change
of some huge files inside the zip, we'll create an insanely large patch.

This patch splits the src&tgt more smartly based on the zip entry_name.
If the entry_name is empty or no matching source is found for a target
chunk, we'll skip adding its source and later do a bsdiff against the
whole split source image (this rarely happens in our use cases except
for the metadata inside a ziparchive).

After the split, the target pieces are continuous and block aligned,
while the sources pieces are mutually exclusive. (Some of the source
blocks may not be used if there's no matching entry_name in the target.)
Then we will generate patches accordingly between each split image
pairs.

Afterwards, if we apply imgpatch to each pair of split source/target
images and add up the patched result, we can get back the original
target image.

For example:
Input: [src_image, tgt_image]
Split: [src-0,tgt-0; src-1,tgt-1, src-2,tgt-2]
Diff:  [  patch-0;     patch-1;    patch-2]

Patch: [(src-0,patch-0)=tgt-0; (src-1,patch-1)=tgt-1;
(src-2,patch-2)=tgt-2;]
Append: [tgt-0 + tgt-1 + tgt-2 = tgt_image]

Peformance:
For the small package in b/34220646, we decrease the patch size of
chrome.apk dramatically from 30M to 400K due to the order change of
two big .so files.

On two versions of angler, I also observe decent patch size decrease.
For chrome.apk, we reduced the size from 5.9M to 3.2M; and for
vevlet.apk from 8.0M to 6.5M.

Bug: 34220646
Test: recovery component test && apply imgdiff & imgpatch on two
chrome.apk
Change-Id: I145d802984fa805efbbac9d01a2e64d82ef9728b
2017-09-05 15:09:58 -07:00
Tao Bao 3dc784cf8c Merge "wear_ui: Remove PrintOnScreenOnly() and PrintV()." am: 8c753f6253 am: 0cada4da99 am: 0f7d56fe81
am: 036dec3944

Change-Id: Ia20f772e64e00020e4fdf07405fcf9a80c878468
2017-09-01 23:38:59 +00:00
Tao Bao 036dec3944 Merge "wear_ui: Remove PrintOnScreenOnly() and PrintV()." am: 8c753f6253 am: 0cada4da99
am: 0f7d56fe81

Change-Id: I0d3fcb92109bc5fa8bd84736b6228be90f800de9
2017-09-01 23:01:26 +00:00
Tao Bao 0f7d56fe81 Merge "wear_ui: Remove PrintOnScreenOnly() and PrintV()." am: 8c753f6253
am: 0cada4da99

Change-Id: I49803c522f3f40a0ac8d70b5bf1eaf83a2c7d2f8
2017-09-01 22:56:26 +00:00