Commit Graph

6206 Commits

Author SHA1 Message Date
Zhomart Mukhamejanov f0e5627cd2 Merge "updater_sample: create UpdateManager" am: 2a0b23bdf6 am: dd885ab568
am: 8706d3336e

Change-Id: Iee35bb02b776a9f5214c43df714d57a068cea162
2018-05-24 18:59:54 -07:00
Zhomart Mukhamejanov 8706d3336e Merge "updater_sample: create UpdateManager" am: 2a0b23bdf6
am: dd885ab568

Change-Id: I7a93e763640a3e318348e388cc9adb0dcaf1513e
2018-05-24 14:28:35 -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
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 d0c3f62d3e Merge "updater: Use a bool to indicate if allowed to skip a command." am: 3a8b348936 am: 082733b555
am: 09dbf50713

Change-Id: I03a79e3e7be2775866a29a3edeac35780ca6c2f3
2018-05-21 18:49:35 -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 118d6ac3a0 Merge "recovery: Add ability to set title lines" am: cba047f944 am: 6283f64568
am: ebc910901c

Change-Id: I51055a2ae70534c0107e6001d6db0e31f2a2932d
2018-05-21 17:14:56 -07:00
Tao Bao 67d0309460 Merge "updater: Clean up the header lines computation." am: a5735e9b5f am: 1e29bb6717
am: b8a04272c8

Change-Id: Ie044e694af47e2c115f1ba1030e331c99202611d
2018-05-21 17:09:11 -07: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
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 ba579eec7d [automerger skipped] Merge "Move stuff from recovery into librecovery." am: 901f0c3516 am: dd88112054 -s ours
am: f64feaac0f  -s ours

Change-Id: Iaf063b9ed0b485813ac77edb3d610c5b5392487b
2018-05-21 16:33:36 -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 08fa07c132 Merge "Move stuff from recovery into librecovery." into pi-dev-plus-aosp
am: adbf380258

Change-Id: I6ed490a28a7cdd1da3a1564fa9fb96bf2040a77c
2018-05-21 16:00:20 -07: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 3d9a4ef57b Merge "updater_config: make utils/PayloadSpecs non-static" am: 928f2cbf9b am: 3714929c32
am: 154cdd99d6

Change-Id: If1786eba08d7746601b6870e16bce9141d504b57
2018-05-21 10:46:53 -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 76610d1681 Merge "recovery: Reset optind to 1 after getopt" am: 38d90316b2 am: 25d31c9f9c
am: 901fb2c811

Change-Id: I8848adc74153293256f780fefaa05c579eda359d
2018-05-17 14:52:48 -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
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 f4ade1caa2 Merge "updater_sample: add switch slot demo" am: 2ddc54f5fd am: 4f26e44969
am: 6feecf0337

Change-Id: I411045c8260782c0612001e09831eef409d29099
2018-05-17 12:50:04 -07: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
Tao Bao 2ddc54f5fd Merge "updater_sample: add switch slot demo" 2018-05-17 19:21:54 +00:00
Tao Bao 371fe6e8bc Move stuff from recovery into librecovery.
Move most source files into librecovery so they become testable. Only
recovery_main.cpp and logging.cpp are built into recovery module, as
they perform one-time setup (e.g. setting up logger).

Test: `mmma -j bootable/recovery` with
      aosp_{angler,bullhead,fugu,dragon,marlin}-userdebug
Test: recovery_host_test; recovery_unit_test; recovery_component_test;
      recovery_manual_test
Test: Build and boot into recovery image on angler.
Change-Id: Ic4444f87a2f123557c71085f81dc2b2764c05ed8
Merged-In: Ic4444f87a2f123557c71085f81dc2b2764c05ed8
2018-05-17 09:59:26 -07:00
Zhomart Mukhamejanov 238beb7373 updater_sample: add switch slot demo
- Add util/UpdateEngineProperties.java
- Set SWITCH_SLOT_ON_REBOOT=0 when update is applied
- Allow user to switch slot to the updated partition manually
- Add config "ab_config.force_switch_slot"
- Add ab_force_switch_slot to tools/gen_update_config.py

Test: manually on the marlin device
Bug: 79492522
Change-Id: I52f818b576d52a052b5427ba3f732cb2371ddb06
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-05-17 16:29:57 +00:00
Tao Bao fd0ace8f6e Move stuff from recovery into librecovery.
Move most source files into librecovery so they become testable. Only
recovery_main.cpp and logging.cpp are built into recovery module, as
they perform one-time setup (e.g. setting up logger).

Test: `mmma -j bootable/recovery` with
      aosp_{angler,bullhead,fugu,dragon,marlin}-userdebug
Test: recovery_host_test; recovery_unit_test; recovery_component_test;
      recovery_manual_test
Test: Build and boot into recovery image on angler.
Change-Id: Ic4444f87a2f123557c71085f81dc2b2764c05ed8
(cherry picked from commit bf4c006d7bc8a4517c82399bbffd9cb09971c0b4)
2018-05-16 22:31:41 -07:00
Tao Bao 7f41584d9d [automerger skipped] Merge "recovery: Refactor common setup into main()" am: 5b3d6cf58b am: 0abc18d520 -s ours
am: 41e47d6d0a  -s ours

Change-Id: Ifecfe86247c683366ede6a2d9e91b2c51990a1de
2018-05-16 17:29:22 -07:00
Tao Bao 41e47d6d0a [automerger skipped] Merge "recovery: Refactor common setup into main()" am: 5b3d6cf58b
am: 0abc18d520  -s ours

Change-Id: I6e90e6810feefaa7b6b028259591e5cced2b5c3f
2018-05-16 17:03:35 -07:00
Tao Bao 0abc18d520 Merge "recovery: Refactor common setup into main()"
am: 5b3d6cf58b

Change-Id: I33558285e87b03af06d02f735e7e06e89404f9ad
2018-05-16 16:59:37 -07:00
Tao Bao 5b3d6cf58b Merge "recovery: Refactor common setup into main()" 2018-05-16 23:46:01 +00:00
Tianjie Xu cd4122f122 Merge "Last command file should be updated after a command finishes" am: 6dfc54cae1 am: 45b7dbea74
am: 567570954e

Change-Id: Icdfa75122de982cd599dbfc1b27f3320ffef2fc8
2018-05-16 16:13:50 -07:00
Tianjie Xu 567570954e Merge "Last command file should be updated after a command finishes" am: 6dfc54cae1
am: 45b7dbea74

Change-Id: Ic9da282f5b09e36b0b64c56f595b25ebc6cf60c6
2018-05-16 16:05:19 -07:00
Tianjie Xu 45b7dbea74 Merge "Last command file should be updated after a command finishes"
am: 6dfc54cae1

Change-Id: I0a99acaf18a1b3f386aa79bea210eb3a04929e54
2018-05-16 16:00:46 -07:00