Commit Graph

6306 Commits

Author SHA1 Message Date
Zhomart Mukhamejanov 1b30b73c4b Merge "updater_sample: improve updater state handling" am: 269be9f22d am: 188190cc8c
am: ca9d2d71bf

Change-Id: I234998d1beecc297a5e2bdda2f6334e27f27fc0a
2018-06-04 18:23:38 -07:00
Zhomart Mukhamejanov ca9d2d71bf Merge "updater_sample: improve updater state handling" am: 269be9f22d
am: 188190cc8c

Change-Id: I01dd12acc6a53844d9f0285e8ce091ee8eca3564
2018-06-04 17:37:30 -07:00
Tao Bao 0ac309bfcb Merge "tests: Add ResumableUpdaterTest." am: a21a63bf56 am: 1d33962b86
am: 98dc45f0f0

Change-Id: I91ac11e21f98f1428d3541d26cffa6ba907e9ebb
2018-06-04 17:10:18 -07:00
Zhomart Mukhamejanov 188190cc8c Merge "updater_sample: improve updater state handling"
am: 269be9f22d

Change-Id: I803895e6d67e11e8e58873af89fd6710cab5334f
2018-06-04 17:05:59 -07:00
Tao Bao 98dc45f0f0 Merge "tests: Add ResumableUpdaterTest." am: a21a63bf56
am: 1d33962b86

Change-Id: I558dc711f65a970195daa60d741fa83d375c7cb0
2018-06-04 16:31:37 -07:00
Zhomart Mukhamejanov 269be9f22d Merge "updater_sample: improve updater state handling" 2018-06-04 23:18:43 +00:00
Zhomart Mukhamejanov 469b35a457 updater_sample: improve updater state handling
- Enable more UpdaterState transitions.
- MainActivity: Improve UI states.
- UpdateManager: fix status handling errors, add
  suspend/resume methods.
  Add "synchronize this" to public control (suspend, cancel, ..)
  methods.
- Add several UpdateManager tests.

Test: on device
Test: JUnit4
Change-Id: Id7f85dfaa466fa0d6136eee39e9fd7658278c616
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-06-04 14:23:37 -07:00
Tao Bao 1d33962b86 Merge "tests: Add ResumableUpdaterTest."
am: a21a63bf56

Change-Id: I63bcdd7c86765f9671531d703fdafcae381a4c48
2018-06-04 14:16:05 -07:00
Tao Bao a21a63bf56 Merge "tests: Add ResumableUpdaterTest." 2018-06-04 19:25:21 +00:00
Tao Bao c0299edd46 tests: Add ResumableUpdaterTest.
This is a stress test that instantiates multiple testcases that
interrupt a BBOTA update at every transfer command. Each testcase
asserts the last_command_file after the interruption, verifies the
update resumability, then resumes the update and asserts the updated
image.

The transfer list in the testcase covers most of the transfer commands
(stash/free/move/bsdiff/zero/new), as well as some special pattern like
having duplicate stash ids.

This CL also addresses one issue in the updater code, by resetting the
stash_map before each run. The stash map should be valid only per
block_image_verify/block_image_update run. Having leftover may cause
issue in subsequent runs, in particular when calling block_image_verify
after a previous run of block_image_{update,verify}.

Test: Run recovery_component_test on marlin.
Change-Id: I6f9a0368d194a754ce41a9c9819c6d5be2657248
2018-06-04 16:19:45 +00:00
Zhomart Mukhamejanov 92824456bd Merge "updater_sample: validate state only once" am: 02ee7bf29d am: 8bb3085865
am: a64639f104

Change-Id: I1900eaa91fbc95d82c7cdf51254df5289386fb68
2018-06-01 12:13:40 -07:00
Zhomart Mukhamejanov a64639f104 Merge "updater_sample: validate state only once" am: 02ee7bf29d
am: 8bb3085865

Change-Id: I9921a274b17ce7ef2d64cb1f36337dc3f02aebf4
2018-06-01 12:08:09 -07:00
Zhomart Mukhamejanov 8bb3085865 Merge "updater_sample: validate state only once"
am: 02ee7bf29d

Change-Id: I2752740e1c101203e34ca6bbb20664a728b99908
2018-06-01 12:03:06 -07:00
Zhomart Mukhamejanov 02ee7bf29d Merge "updater_sample: validate state only once" 2018-06-01 18:52:37 +00:00
Tianjie Xu 8a7861c617 Merge "Let gr_init proceed even if we failed to load a font file" am: 2d85a0f6f7 am: 80918c9773
am: 381fa3a7db

Change-Id: Iabed200255f5100334188de20a6f52b5f9b86a90
2018-06-01 06:51:49 -07:00
Tianjie Xu 381fa3a7db Merge "Let gr_init proceed even if we failed to load a font file" am: 2d85a0f6f7
am: 80918c9773

Change-Id: Iedd79892a6ce7a079f82e1d84117a865ae4c7d5a
2018-06-01 05:33:28 -07:00
Tianjie Xu 80918c9773 Merge "Let gr_init proceed even if we failed to load a font file"
am: 2d85a0f6f7

Change-Id: I2c830126f9d6a060d321ce48e7602fc808836e11
2018-06-01 03:14:54 -07:00
Treehugger Robot 2d85a0f6f7 Merge "Let gr_init proceed even if we failed to load a font file" 2018-06-01 06:27:30 +00:00
David Anderson f5f2d8cc13 Merge "recovery: add --fsck_unshare_blocks option for adb remount" am: bda4495176 am: b0d9b3594b
am: 5a78f3984f

Change-Id: I61c14d0d3bbdeadacd94c3f11a80f3a19612d539
2018-05-31 22:47:22 -07:00
Zhomart Mukhamejanov 8826150c9e Merge "updater_sample: Add @GuardedBy" am: 2759733136 am: a37a085a11
am: 7d5746309b

Change-Id: I89adebc0d563a0b4a543a5321476ecd661d7d21f
2018-05-31 22:46:56 -07:00
Zhomart Mukhamejanov 29668f02dc Merge "updater_sample: Improve update completion handling" am: 9455173f87 am: 86f05074d2
am: 3bb7b616a3

Change-Id: I838498e938a8a7bbc206388ab14fce86bb629322
2018-05-31 22:45:46 -07:00
Tao Bao d9b4d47ba3 Merge "updater: Drop the 'blocks' parameter in LoadStash()." am: 0b80ba14d7 am: 838f30a8f7
am: 8d6905d952

Change-Id: Ie6073a4ea2b2cbba0f09334fbee27b546d4fcf51
2018-05-31 22:26:19 -07:00
Tianjie Xu 842f2a3dca Let gr_init proceed even if we failed to load a font file
Some users of minui don't need to draw texts; and we should let them
still be able to use the library without providing a font file. Also add
check for null pointers in gr_measure() and gr_font_size().

Bug: 80535212
Test: boot into recovery without a font file, and the buttons still work
Change-Id: I848e4410f2ce09ea0ab433573e6827b7e9b2c575
2018-05-31 21:42:58 -07:00
David Anderson 5a78f3984f Merge "recovery: add --fsck_unshare_blocks option for adb remount" am: bda4495176
am: b0d9b3594b

Change-Id: I86d3af476e87184e653de38cdb4faa1c9975ccba
2018-05-31 18:11:40 -07:00
David Anderson b0d9b3594b Merge "recovery: add --fsck_unshare_blocks option for adb remount"
am: bda4495176

Change-Id: I7ca5126573f977d8e6204420d66617a7dc207688
2018-05-31 18:01:58 -07:00
Treehugger Robot bda4495176 Merge "recovery: add --fsck_unshare_blocks option for adb remount" 2018-06-01 00:28:52 +00:00
Zhomart Mukhamejanov 7d5746309b Merge "updater_sample: Add @GuardedBy" am: 2759733136
am: a37a085a11

Change-Id: I14c6cf3602233e29a8da9790cb4d0f37f10a59ca
2018-05-31 17:19:55 -07:00
Zhomart Mukhamejanov 3bb7b616a3 Merge "updater_sample: Improve update completion handling" am: 9455173f87
am: 86f05074d2

Change-Id: Iaefa58f57d11bf8b7091506326b721fe47f00058
2018-05-31 17:19:00 -07:00
Tao Bao 8d6905d952 Merge "updater: Drop the 'blocks' parameter in LoadStash()." am: 0b80ba14d7
am: 838f30a8f7

Change-Id: I7eac9d3a708fc70c5dc8c73c4b7a05c861c37cc2
2018-05-31 17:14:33 -07:00
Zhomart Mukhamejanov a37a085a11 Merge "updater_sample: Add @GuardedBy"
am: 2759733136

Change-Id: I7c0811201ec55e64aba60f6582ee2c0c1ddca870
2018-05-31 16:21:11 -07:00
Zhomart Mukhamejanov 86f05074d2 Merge "updater_sample: Improve update completion handling"
am: 9455173f87

Change-Id: Id4b1ff4cc2afe36a0acffe3bc0a323cc06416c6c
2018-05-31 16:20:50 -07:00
Zhomart Mukhamejanov 51cde1e60c updater_sample: validate state only once
Test: on device
Change-Id: I0a8a87d7b69f0efdcbd17facbf42cb94fb96fe51
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-31 23:12:43 +00:00
Zhomart Mukhamejanov 2759733136 Merge "updater_sample: Add @GuardedBy" 2018-05-31 23:12:34 +00:00
Zhomart Mukhamejanov f6522eba71 updater_sample: Add @GuardedBy
Test: on the device
Change-Id: I15762dafec1814980e1c2529f5fc2048853c8ff2
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-31 23:12:28 +00:00
Zhomart Mukhamejanov 9455173f87 Merge "updater_sample: Improve update completion handling" 2018-05-31 23:12:15 +00:00
Tao Bao 838f30a8f7 Merge "updater: Drop the 'blocks' parameter in LoadStash()."
am: 0b80ba14d7

Change-Id: I24ed7f67fb2a8c4eaccaa075a73dbfc006d16f93
2018-05-31 16:00:40 -07:00
Zhomart Mukhamejanov 7671f68ab8 updater_sample: Improve update completion handling
Currently sample app relies on onPayloadApplicationComplete
callback. It might not get invoked when app is unbound and
update is complete.
On the other hand, onStatusUpdate gets invoked always
(except when update_engine fails to init).
It's good to rely on onStatusUpdate callback to
reapply the update if it's IDLE but sample app state
is RUNNING.

- Add methods to ensure correct updater state.
- Update README.md.

BUG: 80205922
Test: on the device
Change-Id: Ic2f390e85af43556e227362321ab69f0ff146188
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-31 21:13:05 +00:00
Tao Bao 0b80ba14d7 Merge "updater: Drop the 'blocks' parameter in LoadStash()." 2018-05-31 20:22:25 +00:00
Tao Bao 64957ce4b1 updater: Drop the 'blocks' parameter in LoadStash().
None of the callers actually uses the value.

(Even in the earlier versions, e.g. the one in M, the value wasn't used
either.)

Test: Run recovery_component_test on marlin.
Change-Id: I53e61a1afa211f71a200889ed3aa4046763b46ea
2018-05-30 16:34:24 -07:00
David Anderson edee8361d7 recovery: add --fsck_unshare_blocks option for adb remount
Allow "adb remount" on deduplicated filesystems to reboot into recovery
and run e2fsck to undo deduplication. The e2fsck binary is copied from
the system partition into tmpfs, and the system partition is unmounted
so e2fsck can run safely.

Bug: 64109868
Test: recovery with --fsck_unshare_blocks; adb remount
Change-Id: I7558749b018b58f3c4339e51a95831dbd5be1ae3
2018-05-30 13:24:30 -07:00
Zhomart Mukhamejanov b2865b044a Merge "updater_sample: add UpdaterState" am: 721f6d851f am: b2a0611ea7
am: 57c4fe1f33

Change-Id: I89a27867da037937a09224a03450c261a1b3373b
2018-05-29 21:45:49 -07:00
Zhomart Mukhamejanov 152cde2c09 Merge "updater_sample: add UpdateData" am: 8f15a82229 am: 8dd98e8c45
am: a207a43052

Change-Id: I16ba9eb2468258b3d2cc4afb11a8fe520917ce55
2018-05-29 21:40:54 -07:00
Jerry Zhang 324806a751 Merge "recovery: c++ify pthread use in UI" am: 85a007c47c am: 956580b139
am: ebb47acad4

Change-Id: I51071b091a91168dd05c2c4b33aa1b42c5769f97
2018-05-29 21:40:15 -07:00
Zhomart Mukhamejanov 57c4fe1f33 Merge "updater_sample: add UpdaterState" am: 721f6d851f
am: b2a0611ea7

Change-Id: Ie85e6ccc229abf22d79359a4c13523ab1fa857ca
2018-05-29 19:44:39 -07:00
Zhomart Mukhamejanov a207a43052 Merge "updater_sample: add UpdateData" am: 8f15a82229
am: 8dd98e8c45

Change-Id: I125afc8a6812b023d8bc91402832a1355fa66d2f
2018-05-29 19:44:24 -07:00
Jerry Zhang ebb47acad4 Merge "recovery: c++ify pthread use in UI" am: 85a007c47c
am: 956580b139

Change-Id: Ia3f1bad7a6c0e13a5d6920a4f43224e75b954800
2018-05-29 19:44:09 -07:00
Zhomart Mukhamejanov b2a0611ea7 Merge "updater_sample: add UpdaterState"
am: 721f6d851f

Change-Id: Ic5f9ecadcb2af07048dd60660c1fbb64591aa547
2018-05-29 18:49:49 -07:00
Zhomart Mukhamejanov 8dd98e8c45 Merge "updater_sample: add UpdateData"
am: 8f15a82229

Change-Id: I0b155b9b49e7686170cc51adf6bd84d54e0bc0f1
2018-05-29 18:49:15 -07:00
Zhomart Mukhamejanov 721f6d851f Merge "updater_sample: add UpdaterState" 2018-05-30 01:36:36 +00:00
Zhomart Mukhamejanov 8f15a82229 Merge "updater_sample: add UpdateData" 2018-05-30 01:34:53 +00:00