| Commit message (Collapse) | Author | Files | Lines |
|
UpdateEngine has a feature that verifies
payload without downloading the whole update package.
If UpdateEngine detects invalid payload,
the sample app aborts the update.
No JUnit tests, because it accesses files on the
device and migrating tests to robolectric
is not worth for this sample app.
Bug: 77150191
Test: device
Change-Id: Ib8ce73508a02cf5fdcb326d8ba46c1d05ed5efe5
|
|
It's moved from PrepareStreamingService intent service.
Now PrepareUpdateService takes an UpdateConfig and
builds PayloadSpec for UpdateEngine for both streaming
and non-streaming update.
It allows us to do all preparations in intent service's
thread, without blocking UI.
We will also add checksum verification to
PrepareUpdateService.
Test: device, junit
Bug: 77150191
Change-Id: I15c0bc58e3238bea6ea1c4f13063575e2def89c1
Merged-In: Iea69acd9aa41e17538c26aff60f7598093ca7744
|
|
It's moved from PrepareStreamingService intent service.
Now PrepareUpdateService takes an UpdateConfig and
builds PayloadSpec for UpdateEngine for both streaming
and non-streaming update.
It allows us to do all preparations in intent service's
thread, without blocking UI.
We will also add checksum verification to
PrepareUpdateService.
Test: device, junit
Bug: 77150191
Change-Id: Iea69acd9aa41e17538c26aff60f7598093ca7744
|
|
See go/jetpack-test-android-migration
Test: make checkbuild
Change-Id: I0740a2205e6b3893ba292cd841592ea85071eefb
|
|
The instrumentation_for property takes the name a module, not the
name of a class.
Test: m checkbuild
Change-Id: I4671ed7b42696eb023052655c0ce7997d2b754f8
|
|
Add new config: ab_config.verify_payload_metadata.
Change-Id: I521dff92166c33dd9c2efa498dc599fe4bc83fde
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
Test: mmm, junit
Bug: 77150191
|
|
b/112462307 is fixed now, remove the TODO.
Bug: 112462307
Test: dexlist out/soong/.intermediates/bootable/recovery/updater_sample/SystemUpdaterSample/android_common/dex/classes.dex | grep getUpdaterState
Change-Id: I19cb93a74b714967e4bab2964e229a0ab0a15676
|
|
Test: Follow the steps in "Running tests" in updater_sample/README.md.
Change-Id: I70c3239e3daea0dcdadf02f68abe7d6aafa67a2e
|
|
Test: N/A
Change-Id: I8622733d0a23ff062031a67efd0e32480a297322
|
|
README.md: add instructions
Test: on device
Bug: 80250430
Change-Id: I2e04fdefda2b73d01dfa0a8e684542feb2ed6c61
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Android.mk: remove local tags, make privileged module
AndroidManifest.xml: add access cache filesystem
Test: on device
Test: junit4
Change-Id: I611970747b7b630520249dd53105b9a2f7f76355
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Test: on device
Change-Id: Ia8582053b7330d06e618f2555332cfb2a89b3df8
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
This reverts commit 8c3af4aa8c35b9fdeb5c2b350098c20202fd3830.
Reason for revert: Broke Master
Change-Id: I37bceeea630fb7db39efa25d03ababe3d84cdfbf
|
|
Update util/UpdateEngineErrorCodes.java
Test: n/a
Change-Id: I7250b1198b1d5ff0e38b7d4effe61eebd114a44f
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Test: junit
Change-Id: I0175271935fdd87dd49ad9936d0e1b550d164e05
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Test: n/a
Change-Id: I0b488ca9fe628c3614c203ab9264175f291f49db
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Test: junit4
Change-Id: Ia2f7475cfba01a65486bb0e5d0f3976304ca0969
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
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>
|
|
- 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>
|
|
Test: N/A
Change-Id: Idc0a4fa778c23c503162337a682c872644e5419c
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
- 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>
|
|
Test: on device
Change-Id: I0a8a87d7b69f0efdcbd17facbf42cb94fb96fe51
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Test: on the device
Change-Id: I15762dafec1814980e1c2529f5fc2048853c8ff2
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
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>
|
|
- Add UpdaterState - atomic class, handles proper
state changes.
- Remove util.UpdaterStates.
Test: compiled and ran on the device
Change-Id: I7fa87bbf09f8289632e8de1f26654365f4891700
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
This class allows easily passing update data to
apply payload, re-applying the updata data,
and in the future persisting.
Test: on the device
Change-Id: Ie01c5f3384c421bf1180122f27811c644179e3f5
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Test: N/A
Change-Id: I519a0fa38b87c7d826ed07414d14a4f7a858aeb4
|
|
- 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>
|
|
- 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>
|
|
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>
|
|
- 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>
|
|
- Refactor PrepareStreamingService#onHandleIntent
- Add PrepareStreamingService#verifyPackageCompatibility
Test: on the device
Bug: 79471299
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
Change-Id: I1b18502f0638d66810a3f7ada582e4c7cea20cdb
|
|
- fix UpdateConfig
- fix smaple.json
- fix FileDownloaderTest
Test: manually
Change-Id: I09d272f77c89a02f54a24cf753fdfda4ce243927
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Added demo passing http headers to UpdateEngine#applyPayload.
Bug: 79483768
Test: manually
Change-Id: I3e9c812dba2066acadbcea8d07c933368806e20c
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
- Allow gen_update_config.py to use ota_from_target_files from
$ANDROID_BUILD_TOP/build/make/tools/releasetools/
- tests/res/raw/ota_002_package.zip re-generated using functions from
$ANDROID_BUILD_TOP/build/make/tools/releasetools/test_ota_from_target_files.py
- sample app tests updated
Test: ./tools/gen_update_config_test.py
Change-Id: I5c492ec22782ba54fe481f592a44e797c695684e
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
- UpdateConfigs: add helper methods for streaming
- add PrepareStreamingService intent service
Test: manually and junit4
Bug: 77148143
Change-Id: I61711eb9abe051987e725fbd94f8cd029ff21dd3
|
|
- fix tools/gen_update_config.py
- add tests for PayloadSpecs#forStreaming
Test: junit4
Change-Id: Ife1980c5f72944ed35500aa820b30031fc99e820
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
- ui: add text view for latest completion (error) code
- update README.md
- update MainActivity.java
- remove AbNonStreamingUpdate
Test: mmma bootable/recovery/updater_sample
Change-Id: Ie9bb64211c57d536036b04f13896e4937c392b6e
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
PayloadSpec
- add streaming generator and tests
- fix sample.json
- fix tests
- rename PackagePropertyFiles to PackageFiles, it has info
not only about property files, and new name is shorter
Bug: 77148467
Test: `mmma -j bootable/recovery/updater_sample`
Change-Id: I9c1206c07c37183f13d3c25940f12981ca85b1b4
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Test: unit tests
Change-Id: I10933e7172d7ebc34c7cf5e4274625d7b8399246
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
UpdateConfig:
- constant names changed
- added parsing streaming metadata
- added InnerFile to describe a file in zip
Android.mk
- added guava
tests fixed
Test: using junit4
Change-Id: Ibe3c8a3bde20259b0eea9a79aca4b22ed7b048f4
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
Fix gen_update_config.py.
And add tests for gen_update_config.py.
Test: python3 updater_sample/tools/gen_update_config_test.py
Change-Id: I0d270f1d5d7635855ee9acb0dd094e083cd33e3a
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
This resource files are used in tests. ota package zip file
contains only text files.
Config files are generated using tools/gen_update_config.py
Test: N/A
Change-Id: I9d3d0f81472dc20db18b32f4a9445a998b68b0e3
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
gen_update_config.py generates JSON config files
from given OTA image zip files.
README.md is updated.
Test: manually
Change-Id: Ifd09b49a73983a42752ee3842a566cecedb9cae0
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
|
|
To address the warning below (which will be disallowed):
bootable/recovery/updater_sample/tests/Android.mk: warning:
SystemUpdaterSampleTests (java:system) should not link to
android.test.runner (java:platform)
(See b/69899800 or the commit message in [1] for detailed discussions.)
[1]: https://android-review.googlesource.com/c/platform/frameworks/ml/+/666428
Test: `mmma -j bootable/recovery` gives no warning.
Test: Install and run SystemUpdaterSampleTests on device.
Change-Id: I12a1556d572d9f332fcf43dc84cbe8fd1b6df89b
|
|
Also replace the occurrence in README.md and PREUPLOAD.cfg.
Test: mmma -j bootable/recovery
Change-Id: I04c0ef00dd64f49e008ad2a4a2c1e8eaed76bf8d
|