Commit Graph

9577 Commits

Author SHA1 Message Date
Tao Bao e76ed816b9 Merge "updater_sample: Add OWNERS." am: 44e857390a am: 101af85e34
am: e018a3b641

Change-Id: Ia7c9dcc885f8b173171f48f73611adf912b748c4
2018-05-25 11:39:09 -07:00
Zhomart Mukhamejanov fad9dc5522 Merge "updater_sample: add updater state" am: c290e088ed am: 4e17087235
am: 22fb42b53f

Change-Id: I5218c15d084ff811aaf85207f33c4f20cde66866
2018-05-25 11:38:44 -07:00
Tao Bao e018a3b641 Merge "updater_sample: Add OWNERS." am: 44e857390a
am: 101af85e34

Change-Id: I39b232ba0b3c1bf0cad47a48f48b0f4e498fb4e7
2018-05-25 11:28:10 -07:00
Tao Bao 101af85e34 Merge "updater_sample: Add OWNERS."
am: 44e857390a

Change-Id: Ie7934d1a0b87741d21ad83ed2822af0602b507b6
2018-05-25 11:23:38 -07:00
Zhomart Mukhamejanov 22fb42b53f Merge "updater_sample: add updater state" am: c290e088ed
am: 4e17087235

Change-Id: I698a9821d0e452e47a379051d68142f633ddb20a
2018-05-25 11:18:38 -07:00
Treehugger Robot 44e857390a Merge "updater_sample: Add OWNERS." 2018-05-25 18:15:13 +00:00
Zhomart Mukhamejanov 4e17087235 Merge "updater_sample: add updater state"
am: c290e088ed

Change-Id: I714b69a34be85fa46df2f533328a20efe45c5f83
2018-05-25 11:13:06 -07:00
Zhomart Mukhamejanov c290e088ed Merge "updater_sample: add updater state" 2018-05-25 18:03:17 +00:00
Tom Marshall bf4f24f227 Revert "updater: Remove some obsoleted functions for file-based OTA."
This reverts commit 63d786cf22.

These functions will be used for third party OTA zips, so keep them.

Change-Id: I24b67ba4c86f8f86d0a41429a395fece1a383efd
2018-05-25 18:48:06 +02:00
Tom Marshall 981118ec5f Revert "kill package_extract_dir"
This reverts commit 53c38b1538.

Change-Id: Id998923948fb51ef5640c8be8884801c4f8d90e3
2018-05-25 18:47:50 +02:00
Logan Chien 597fbc00ce Enable arm64 neon scrypt implementation
It seems that old Scrypt-config.mk is unaware of arm64 architecture.
In fact, crypto_scrypt-neon.c can be compiled into arm64 as well.  This
CL adds an arch section for arm64.

Bug: 65425184
Test: adb shell /data/nativetest64/scrypt_test/scrypt_test
Change-Id: Ib451de642c7cc4548bfdc0879781981654b21b8f
Merged-In: If40a30378b8038324aad44071107130d7722e28d
2018-05-25 18:47:28 +02:00
Tao Bao 35db9cf666 updater_sample: Add OWNERS.
Test: N/A
Change-Id: I519a0fa38b87c7d826ed07414d14a4f7a858aeb4
2018-05-25 09:43:08 -07:00
bigbiff bigbiff 38b83c1da4 ADB Backup: fix md5 check on restore.
Add debug capability.
Fix backup of images after tarred partitions with too much padding
Add more md5 logging.
Skip digest check if selected.
Change ADB Backup version to 3 for new fixes to image padding.
Change-Id: I0f76c0733c523717e4797d1a14c3ae47d046fc8c
2018-05-25 18:42:16 +02:00
oshmoun a82a754bbe partitionmanager: signal when Mount_To_Decrypt partitions are mounted
Enable a property when mounting partitions required for decryption, and disable when they are unmounted.
This helps init scripts to react to such an event appropriately, for example by starting services critical for decryption that reside on said partitions.

Change-Id: Ib6fa1e5c903d9c800fb145d582ced6cc7e0ab5b9
2018-05-25 18:31:44 +02: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
nailyk-fr ca3fd0c0fa TWRP: vold_crypto: Allow custom strace path
* Allow custom definition of strace path with TW_ flags.
 * `TW_CRYPTO_SYSTEM_VOLD_DEBUG := true`
    will use default path: /sbin/strace.
 * `TW_CRYPTO_SYSTEM_VOLD_DEBUG := /system/xbin/strace`
    will use the provided `/system/xbin/strace` path.

Change-Id: I5e12a10176d17a4f26487de0976a776d48c4142e
Signed-off-by: nailyk-fr <nailyk_git@nailyk.fr>
2018-05-25 18:24:09 +02:00
nkk71 37625a4488 vold_decrypt: Code cleanup
* Separate stdout and stderr buffers:
  vdc's return codes get sent to stdout, but the possible presence of
  other error messages in the output buffer will cause a valid return
  from vdc not to be parsed properly, and subsequent decryption to fail
  due to "misunderstood" return code.
  eg on the U11+ (htc_ocm) libc will generate an error to stderr due to
  a missing property area resulting a proper connection to vold being
  incorrectly parsed, and breaking decryption.

* Improve logging.

Change-Id: I57987ebe4ee6754a78e79ca177506098f8301f8f
2018-05-25 18:19:17 +02:00
Phoenix591 e444d11552 TWRP: Added TW_CLOCK_OFFSET flag to further adjust the clock.
For devices with the Qualcomm RTC fix whose clocks need further tuning
such as the LG V20 whose ats files produces the correct time except 
46 years in the future.

Takes adjustment in seconds and adjusts after reading the the ats file.

Boardconfig.mk
TW_CLOCK_OFFSET := -1451606400

Change-Id: I0b2d35dd0026ed18a7bbebf683517f7c0eaa53ff
2018-05-25 11:15:29 -05:00
Phoenix591 46b05f223a TWRP: Move the valid current time up to trigger fix on more devices.
For example on my device, the LG V20 (US996), the default time
comes back as 2016 which doesn't trigger the fixup code. 
The actual time I picked was pretty arbitrary, but close to
the current date, since we're checking if said date/time is reasonably
accurate without the fixup code.

Change-Id: I01db64777d7d0c5ce0710445cf88858d89656ac0
2018-05-25 18:14:32 +02:00
Gabriele M 72638b6437 Skip decryption when installing mapped zips
Decrypting userdata is not needed when installing zips if we have
a map of blocks to read, so skip the decryption. This allows to
install zips with no user interaction and, more importantly, it
allows to install zips on devices where TWRP can't properly decrypt
userdata.

Remove also the unneeded Mount_All_Storage() call, Install_Command()
already mounts the needed partition.

Change-Id: I91c69f84ecc2fe41c9567c40649e501af1cfb64a
2018-05-25 18:13:47 +02:00
Simon Shields 34ad728823 minuitwrp: drm: wait for last page flip to complete
if we try and flip pages too quickly, the kernel returns -EBUSY.
Use drmHandleEvent to wait for any previous flip to complete
before attempting a new one.

Change-Id: If3def889c0c89d7cfb8b7f13c4dae6d4b12760f9
2018-05-25 15:12:29 +02:00
Simon Shields 16d831bee5 minuitwrp: use a separate draw buffer for DRM as well
draw performance is significantly slower when drawing directly to the
mmaped buffer. Instead, draw to a userspace buffer and memcpy()
to the mmaped buffer on page flip.

Change-Id: Ibf2cd4be4f5437b445e68c572ff76ad72d506b15
2018-05-25 15:12:09 +02:00
Simon Shields 1021c5ae50 minuitwrp: drm: fix RECOVERY_BGRA pixel format
GGL_PIXEL_FORMAT_RGBA8888 seems to work in this instance.

Change-Id: I88fb3e53332f47952036ef6e617b3ea7d0b639a9
2018-05-25 15:08:59 +02:00
Tao Bao 5d63c909ab Merge "tests: Setup last_command_file for UpdaterTest." am: d1e0cda4d6 am: 17d46f2551
am: b78304e9c1

Change-Id: If12310f16affc88d6b7d52ee3ab91bfb8a26c5a0
2018-05-25 00:32:59 -07:00
Jiyong Park c5e16710e1 Merge "Mark as recovery_available:true" am: ddf2947359 am: 6d81f8732c
am: 63f4683ba7

Change-Id: I41a553d596e53b8673d44fac83ba04ee8b6e2aaf
2018-05-25 00:21:25 -07: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 498e284c78 Merge "tests: Refactor the common lines in UpdaterTest." am: faa47854f4 am: 83e341e754
am: f4b2c3645e

Change-Id: Ie2860f2e5502071b8a52802a917795ddf751c744
2018-05-24 19:20:03 -07:00
Tianjie Xu 0ae5022187 Merge "Convert deflate image chunks to raw if the raw data is smaller" am: fc0f04cba7 am: 8e72eb7077
am: 93938c10f1

Change-Id: Ib7029502657788ffa18369091dc8eb38065d4369
2018-05-24 19:15:30 -07:00
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
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 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