Commit graph

6311 commits

Author SHA1 Message Date
Tao Bao
35db9cf666 updater_sample: Add OWNERS.
Test: N/A
Change-Id: I519a0fa38b87c7d826ed07414d14a4f7a858aeb4
2018-05-25 09:43:08 -07:00
Zhomart Mukhamejanov
8f4059d603 updater_sample: add updater state
- Add util.UpdaterStates - the state of SystemUpdaterSample.
    It's different from status of UpdateEngine;
    when UpdateEngine#cancel is used to suspend the update,
    UpdateEngine sets status to IDLE, which cannot be used
    to track the suspended state.
- UI: Change 'Update status' to 'Engine status'.
- UI: Change 'Update completion' to 'Engine error code'.
- UI: Add 'Updater state'.

Test: manually on the device
Test: using JUnit4
Change-Id: I9c58b5ed0eae3be7ab8b217fc01a621e8fb2f4bf
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-25 16:25:34 +00:00
Tao Bao
b78304e9c1 Merge "tests: Setup last_command_file for UpdaterTest." am: d1e0cda4d6
am: 17d46f2551

Change-Id: Id67f00ecda761245c7a4ea7862542a2fd3f306d1
2018-05-24 23:41:49 -07:00
Tao Bao
17d46f2551 Merge "tests: Setup last_command_file for UpdaterTest."
am: d1e0cda4d6

Change-Id: I8c1ea753886f284d1e8462e16b06968ebdffc874
2018-05-24 23:37:48 -07:00
Tao Bao
d1e0cda4d6 Merge "tests: Setup last_command_file for UpdaterTest." 2018-05-25 06:30:36 +00:00
Jiyong Park
63f4683ba7 Merge "Mark as recovery_available:true" am: ddf2947359
am: 6d81f8732c

Change-Id: I9b646784d89ccaf09074ae921d8bc0741479b3aa
2018-05-24 23:15:01 -07:00
Jiyong Park
6d81f8732c Merge "Mark as recovery_available:true"
am: ddf2947359

Change-Id: I1fbe5d274f1f1b5a00675a80fa9ad76cd603b042
2018-05-24 23:06:29 -07:00
Treehugger Robot
ddf2947359 Merge "Mark as recovery_available:true" 2018-05-25 05:58:01 +00:00
Tao Bao
7064aa2862 tests: Setup last_command_file for UpdaterTest.
Otherwise tests may interfere with each other by using the same / default
location.

Test: Run recovery_component_test on marlin.
Change-Id: I6b0455489f2fdce819009964dd92bfd9bfeb06ef
2018-05-24 21:49:58 -07:00
Tao Bao
f4b2c3645e Merge "tests: Refactor the common lines in UpdaterTest." am: faa47854f4
am: 83e341e754

Change-Id: I14a0f04552fdbe0f61e374438107ed845331f5a1
2018-05-24 16:18:45 -07:00
Tianjie Xu
93938c10f1 Merge "Convert deflate image chunks to raw if the raw data is smaller" am: fc0f04cba7
am: 8e72eb7077

Change-Id: Ie2b2b87adcb4f80d2e895e7de4f1b200f721394c
2018-05-24 16:17:57 -07:00
Tao Bao
83e341e754 Merge "tests: Refactor the common lines in UpdaterTest."
am: faa47854f4

Change-Id: Ib674f713c68985ddc826fba83c6bdaaa3c06d623
2018-05-24 16:11:53 -07:00
Tao Bao
faa47854f4 Merge "tests: Refactor the common lines in UpdaterTest." 2018-05-24 23:03:05 +00:00
Tianjie Xu
8e72eb7077 Merge "Convert deflate image chunks to raw if the raw data is smaller"
am: fc0f04cba7

Change-Id: I9873d3ef545bb3880a863e76a3782ff119f6c29c
2018-05-24 15:58:51 -07:00
Tianjie Xu
fc0f04cba7 Merge "Convert deflate image chunks to raw if the raw data is smaller" 2018-05-24 22:42:54 +00:00
Zhomart Mukhamejanov
8706d3336e Merge "updater_sample: create UpdateManager" am: 2a0b23bdf6
am: dd885ab568

Change-Id: I7a93e763640a3e318348e388cc9adb0dcaf1513e
2018-05-24 14:28:35 -07:00
Tianjie Xu
cc61cf6a9f Convert deflate image chunks to raw if the raw data is smaller
The imgpatch will fail on empty deflates because the bspatch won't call
the sink function if the target length is zero.

Instead of compressing an empty string, it's cleaner to not generate such
empty deflate chunks in the patch. Therefore, we can just convert the
chunk type to raw if the target length is smaller than the patch data.

Also adjust some unit tests and add the testdata gzipped_source &
gzipped_target. These two files are ~1K each and are generated by
gzipping two slightly different regular files.

Bug: 79265132
Test: unit tests pass, imgpatch applys successfully on the given src/tgt
Change-Id: I6bfff3251918137f6762a6f9e9551642371a1124
2018-05-24 10:49:54 -07:00
Zhomart Mukhamejanov
dd885ab568 Merge "updater_sample: create UpdateManager"
am: 2a0b23bdf6

Change-Id: I2d01925d91b028ff9a86aadf2cc8a478c3e42c78
2018-05-24 10:44:06 -07:00
Zhomart Mukhamejanov
2a0b23bdf6 Merge "updater_sample: create UpdateManager" 2018-05-24 16:10:56 +00:00
Tao Bao
bc4a6d59f6 tests: Refactor the common lines in UpdaterTest.
Move the common codes into RunBlockImageUpdate(). Also clean up the
partition updated marker after running each test.

Test: Run recovery_component_test on marlin.
Change-Id: Id4302e4da4c664231b737a1e83d2e164ef58ed97
2018-05-24 00:15:56 -07:00
Jiyong Park
fafcfccc3c Mark as recovery_available:true
Libraries that are direct or indirect dependencies of modules installed
to recovery partition (e.g. adbd) are marked as recovery_available:
true. This allows a recovery variant of the lib is created when it is
depended by other recovery or recovery_available modules.

Bug: 79146551
Test: m -j
Change-Id: I9ca07ef53fbd89e7c86c0ba269fa52bb48d6deb4
2018-05-24 14:04:32 +09:00
Zhomart Mukhamejanov
6f26e71263 updater_sample: create UpdateManager
- Add UpdateManager - responsible for the update logic.
    Now ui.MainActivity is responsible for only UI.
- Create sample test for UpdateManager
- Remove MainActivityTest - now MainActivity is really simple.
- Add separate callback for progress update.
- MainActivity: UpdateEngine#bind/unbind on pause/resume.

Test: manually on the device
Test: using JUnit4
Change-Id: I1dba7c4ec74b1afb520be762413cfc261ccfbc08
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-23 15:37:43 -07:00
Tao Bao
09dbf50713 Merge "updater: Use a bool to indicate if allowed to skip a command." am: 3a8b348936
am: 082733b555

Change-Id: Ia8bd235b2cc4a2a53339e848c34cb89c4af0621f
2018-05-21 18:46:04 -07:00
Tao Bao
082733b555 Merge "updater: Use a bool to indicate if allowed to skip a command."
am: 3a8b348936

Change-Id: I3b7fe231de183723be3f5dd158e3d130e3e797f2
2018-05-21 18:42:33 -07:00
Tao Bao
3a8b348936 Merge "updater: Use a bool to indicate if allowed to skip a command." 2018-05-22 01:34:03 +00:00
Jerry Zhang
ebc910901c Merge "recovery: Add ability to set title lines" am: cba047f944
am: 6283f64568

Change-Id: I9c40c26a28de5d45b4651bd5cd5d36d57ff9d9fb
2018-05-21 17:05:28 -07:00
Tao Bao
b8a04272c8 Merge "updater: Clean up the header lines computation." am: a5735e9b5f
am: 1e29bb6717

Change-Id: I48a43bb615d9850375774b6827bc34352b0b7c76
2018-05-21 17:05:04 -07:00
Jerry Zhang
6283f64568 Merge "recovery: Add ability to set title lines"
am: cba047f944

Change-Id: I6795eba1ab0cbc56e04fbed4d0ae3b8fe4925920
2018-05-21 17:00:23 -07:00
Tao Bao
1e29bb6717 Merge "updater: Clean up the header lines computation."
am: a5735e9b5f

Change-Id: Id8270c2dce8ac907ea443f667ede40f3eba8fa2d
2018-05-21 17:00:02 -07:00
Jerry Zhang
cba047f944 Merge "recovery: Add ability to set title lines" 2018-05-21 23:52:43 +00:00
Tao Bao
a5735e9b5f Merge "updater: Clean up the header lines computation." 2018-05-21 23:47:51 +00:00
Tao Bao
26ea9591bc ui: Use std::thread to create input/progress threads.
Test: Build and boot into recovery on walleye. Check the long press
      detection; `Run graphics test`.
Change-Id: Ic3e9b0652fc3ff6fb3ad118df5ebb9bb4abda2cd
2018-05-21 16:37:07 -07:00
Jerry Zhang
0e577ee424 recovery: Add ability to set title lines
Add the ability to change the contents of
the title lines, displayed at the top of
the screen. Once set, the same lines are
displayed for all menus until changed again.

Test: Recovery works
Bug: 78793464
Change-Id: I7ef5594b0d76dbbd2e01ad7508863af1270b2a2a
2018-05-21 16:37:07 -07:00
Tao Bao
f64feaac0f [automerger skipped] Merge "Move stuff from recovery into librecovery." am: 901f0c3516
am: dd88112054  -s ours

Change-Id: I59e680bbc6dd9a0895b594cd5a4a5f32719ec4b3
2018-05-21 16:24:29 -07:00
Tao Bao
dd88112054 Merge "Move stuff from recovery into librecovery."
am: 901f0c3516

Change-Id: Ief503e9d2be627474df385790e5ac55399f08744
2018-05-21 16:21:09 -07:00
Tao Bao
901f0c3516 Merge "Move stuff from recovery into librecovery." 2018-05-21 23:05:45 +00:00
Tao Bao
adbf380258 Merge "Move stuff from recovery into librecovery." into pi-dev-plus-aosp 2018-05-21 22:24:06 +00:00
Tao Bao
26efb0ae3a updater: Use a bool to indicate if allowed to skip a command.
This avoids the signedness issue, and makes the code more readable.

Test: mmma bootable/recovery
Test: Run recovery_component_test.
Change-Id: I01c3a0357887cfd7c9d4aba4239ef650cfa18388
2018-05-21 15:05:53 -07:00
Tao Bao
ab20706a84 updater: Clean up the header lines computation.
It no longer needs to be conditional, as we've removed the support for
BBOTA v1/v2.

Test: mmma bootable/recovery
Change-Id: I881de8afa38cc5b41b48e6d48d85170699ea5eb4
2018-05-21 14:48:49 -07:00
Zhomart Mukhamejanov
154cdd99d6 Merge "updater_config: make utils/PayloadSpecs non-static" am: 928f2cbf9b
am: 3714929c32

Change-Id: I970eb576513cbc8f088e9edbdb4a229820b58cbf
2018-05-21 10:37:47 -07:00
Zhomart Mukhamejanov
3714929c32 Merge "updater_config: make utils/PayloadSpecs non-static"
am: 928f2cbf9b

Change-Id: Iec6299559d502989fadd08f6622aef9c320af478
2018-05-21 10:29:15 -07:00
Zhomart Mukhamejanov
928f2cbf9b Merge "updater_config: make utils/PayloadSpecs non-static" 2018-05-21 16:54:04 +00:00
Zhomart Mukhamejanov
b0361ffa3e updater_config: make utils/PayloadSpecs non-static
PayloadSpecs has complicated methods, which makes hard
to test other dependent classes.
Making it non-static allows mocking it, which makes
testing other classes easier.

Test: manually
Test: using JUnit4
Change-Id: I818dc59c6bb0e7d131439d0d41f88d5cd9a451b4
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-18 10:38:33 -07:00
Jerry Zhang
901fb2c811 Merge "recovery: Reset optind to 1 after getopt" am: 38d90316b2
am: 25d31c9f9c

Change-Id: Id2d80584075c3482748e5946d39fe8ef572aea45
2018-05-17 14:48:15 -07:00
Jerry Zhang
25d31c9f9c Merge "recovery: Reset optind to 1 after getopt"
am: 38d90316b2

Change-Id: I06fecd4bc886741901715201b14ff31b6932d05d
2018-05-17 14:44:41 -07:00
Treehugger Robot
38d90316b2 Merge "recovery: Reset optind to 1 after getopt" 2018-05-17 21:38:26 +00:00
Tao Bao
e462cdffe9 tools: Move to Soong.
Test: `mmma -j bootable/recovery/`
Test: Build and run RecoveryLocalizer on device.
Change-Id: I3359223c82bd670c94ad51296cb8b357b04f5349
2018-05-17 13:10:08 -07:00
Jerry Zhang
49fd5d262c recovery: Reset optind to 1 after getopt
The getopt library exposes optind which is the
next index to be processed. When scanning is
restarted, optind has to be reset to 1.

Test: Recovery works
Bug: 78793464
Change-Id: I1efca3fb985ffbdfe91e43767469733cda6e7d5b
2018-05-17 19:56:42 +00:00
Tao Bao
6feecf0337 Merge "updater_sample: add switch slot demo" am: 2ddc54f5fd
am: 4f26e44969

Change-Id: If5faa3401c43c321c5566ee049113d8dd152ed74
2018-05-17 12:44:55 -07:00
Tao Bao
4f26e44969 Merge "updater_sample: add switch slot demo"
am: 2ddc54f5fd

Change-Id: Ie29bdc24f011744e8d13ea0b5c5608d4d3851792
2018-05-17 12:39:53 -07:00