Commit Graph

7159 Commits

Author SHA1 Message Date
Tao Bao a0e3e6f489 Merge "updater: Replace the reference arguments with pointers." am: cef8431fed
am: 9c22d924e8

Change-Id: Ibb4ee1d240768e2cb941d1c4c89e5584c126290b
2018-06-06 18:55:06 -07:00
Zhomart Mukhamejanov da96070ffd updater_sample: change gen_update_config args
Change gen_update_config arg '--ab_force_switch_slot'
from 'bool' to 'store_action'.

Test: manually
Change-Id: Ic65ac9ca3feb99b3a1751a44dec038d49c2b446a
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-06-06 18:38:51 -07:00
Zhomart Mukhamejanov f4c1420742 Merge "updater_sample: Add suspend/resume update"
am: 382691fbb0

Change-Id: Ibd18c8751b2a157aaaf9139bbb01ba0ec84101b7
2018-06-06 18:30:00 -07:00
Zhomart Mukhamejanov 382691fbb0 Merge "updater_sample: Add suspend/resume update" 2018-06-07 00:49:09 +00:00
Tianjie Xu a8900ef91e Merge "minui: Handle the failures from the drm backend in gr_init" am: 0e2d900739 am: c8d9d6ca17
am: 3e9493d891

Change-Id: Ibd115e5ebe71016443c56539dfd359a2cd39c2e5
2018-06-06 17:33:47 -07:00
Tao Bao 9c22d924e8 Merge "updater: Replace the reference arguments with pointers."
am: cef8431fed

Change-Id: Iae45ce2282661f97f5726b1ee1e4db6a6e6af503
2018-06-06 17:08:25 -07:00
Tao Bao cef8431fed Merge "updater: Replace the reference arguments with pointers." 2018-06-06 23:07:07 +00:00
Tianjie Xu 3e9493d891 Merge "minui: Handle the failures from the drm backend in gr_init" am: 0e2d900739
am: c8d9d6ca17

Change-Id: I57b6c5a91a08b4d52bd11ff37b29c43e28d7837d
2018-06-06 15:22:52 -07:00
Tianjie Xu c8d9d6ca17 Merge "minui: Handle the failures from the drm backend in gr_init"
am: 0e2d900739

Change-Id: I690e4ea0a8750dbabfbea8d4401df641d991bfd1
2018-06-06 13:32:54 -07:00
Tao Bao 756c12404c Merge "ui: join only if joinable." am: 2454b2493a am: ccff03d196
am: b4aad37e21

Change-Id: I13bc78cf0209b586181b00bc13f642a2e68c3e3d
2018-06-06 13:17:39 -07:00
Tao Bao b4aad37e21 Merge "ui: join only if joinable." am: 2454b2493a
am: ccff03d196

Change-Id: I6752eaf96637a9263eb49caa5322a815a6208ef5
2018-06-06 11:07:02 -07:00
Tianjie Xu 0e2d900739 Merge "minui: Handle the failures from the drm backend in gr_init" 2018-06-06 17:53:20 +00:00
Tao Bao ccff03d196 Merge "ui: join only if joinable."
am: 2454b2493a

Change-Id: I84d7bb6be8dbf35d0161237902a7b7e076200e10
2018-06-06 10:08:15 -07:00
Tao Bao 2454b2493a Merge "ui: join only if joinable." 2018-06-06 16:41:52 +00:00
Tao Bao 94371fd012 ui: join only if joinable.
The threads in RecoveryUI only get initialized if their Init()s finish
successfully.

Test: recovery_unit_test on marlin.
Change-Id: Ic4b62300a3cbd47887d9f4a90dc26f8a7deab616
2018-06-06 07:49:47 -07:00
Tao Bao 69fdcf5bac Merge "tests: Specify the death test style to avoid flakiness." am: 878d5a77f0 am: d770790a8f
am: 34a7cdc8ce

Change-Id: I2b1b39d5bd47744d102b55736730348a94cede7e
2018-06-05 23:29:38 -07:00
Tao Bao 34a7cdc8ce Merge "tests: Specify the death test style to avoid flakiness." am: 878d5a77f0
am: d770790a8f

Change-Id: Ia87e290bacfbad079e4aedf30a6f2c2c2ab13e9b
2018-06-05 23:25:35 -07:00
Tao Bao d770790a8f Merge "tests: Specify the death test style to avoid flakiness."
am: 878d5a77f0

Change-Id: Ia1cb4cea72323c80d605fdd9cedfa80d5e3145fb
2018-06-05 23:21:32 -07:00
Tao Bao 878d5a77f0 Merge "tests: Specify the death test style to avoid flakiness." 2018-06-06 06:14:18 +00:00
Tianjie Xu ccf00a2007 minui: Handle the failures from the drm backend in gr_init
In a charger mode manual test, we encounter failures from the
MinuiBackendDrm when calling DrmEnableCrtc and Flip. To make the minui
more robust, we should fall back to another backend if drm's SetCrtc
fails. And check the value of gr_draw before dereferencing.

Bug: 80249440
Test: boot to recovery
Change-Id: Ibd1ca1fb1115fe1132684586c54eccd8fb4c3ad9
2018-06-05 17:10:23 -07:00
Tao Bao 42be0d47d9 tests: Specify the death test style to avoid flakiness.
As warned below (while running the test), the default death test style
(i.e. "fast") doesn't work well in a threaded context, which causes test
flakiness (timeout or early exit).

[WARNING] external/googletest/googletest/src/gtest-death-test.cc:836:: Death tests use fork(), which is unsafe particularly in a threaded context. For this test, Google Test detected 3 threads.

This CL specifies the death test styles to be "threadsafe" for the
following death tests.
- RangeSetTest.GetBlockNumber
- RangeSetTest.file_range
- ScreenRecoveryUITest.LoadAnimation_MissingAnimation

Test: mmma -j bootable/recovery
Test: Run recovery_unit_test on marlin. Test passes and the above
      warning is gone.
Change-Id: I245bbc09286702d5cb326f878c4391e842b66cc5
2018-06-05 14:06:59 -07:00
Tao Bao de3bbb81c2 updater: Replace the reference arguments with pointers.
As suggested by the style guide
(https://google.github.io/styleguide/cppguide.html#Reference_Arguments),
all parameters passed by reference must be labeled const. This CL moves
most of the non-const references in blockimg.cpp to pointers, except for
the CommandParameters& parameter in PerformCommand* functions, which
will be handled in separate CLs.

Test: mmma -j bootable/recovery
Test: Run recovery_component_test on marlin.
Change-Id: I84299208e9a1699f5381fb2228d4120f0c8dacb3
2018-06-04 23:14:54 -07:00
Zhomart Mukhamejanov 31b994e8e9 Merge "updater_sample: Add UI docs to README" am: e36b6ec97c am: 321a7134e9
am: 8eed4aca52

Change-Id: I4ae2cf0cfd2db18cd8539f6df4ccf809691d7ac8
2018-06-04 18:32:57 -07:00
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 8eed4aca52 Merge "updater_sample: Add UI docs to README" am: e36b6ec97c
am: 321a7134e9

Change-Id: Ie80f7d87be9cbff62784cdcac6241f0352e3bbc1
2018-06-04 17:39:22 -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
Zhomart Mukhamejanov 16db994fad updater_sample: Add suspend/resume update
- Add suspend/resume buttons.
- UpdateManager: add suspend/resume control methods.
- UpdaterState: fix transitions.

Test: on the device
Bug: 77150010
Change-Id: I174edd32401f8232b5071eb1a2758a4704779801
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-06-04 17:33:16 -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 321a7134e9 Merge "updater_sample: Add UI docs to README"
am: e36b6ec97c

Change-Id: I6953b9a20563f91901f776e737e151f061ff2575
2018-06-04 17:06:56 -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 e36b6ec97c Merge "updater_sample: Add UI docs to README" 2018-06-04 23:19:05 +00:00
Zhomart Mukhamejanov 60abf5c653 updater_sample: Add UI docs to README
Test: N/A
Change-Id: Idc0a4fa778c23c503162337a682c872644e5419c
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-06-04 23:18:55 +00: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