Commit Graph

6766 Commits

Author SHA1 Message Date
Treehugger Robot b22bd959e5 Merge "logical -> dynamic partitions." 2018-11-16 23:35:28 +00:00
Yifan Hong d17174c3e5 logical -> dynamic partitions.
Reflect a name change.
Test: boots
Test: boot into recovery
Bug: 119286600

Change-Id: I7c323f27574ce033b8fc1750aab00f7300c5cc84
2018-11-16 12:56:44 -08:00
Treehugger Robot 814c306106 Merge "switch to using android-base/file.h instead of android-base/test_utils.h" 2018-11-15 15:59:45 +00:00
Josh Gao b67811dd49 Merge "minadbd: track adb C++ version change." 2018-11-15 08:48:11 +00:00
Tianjie Xu 4ef9cb27eb Merge "Adjust the background text image width to reduce its size" 2018-11-15 05:47:54 +00:00
Tianjie Xu b8564e1093 Adjust the background text image width to reduce its size
We can adjust the image width with respect to the maximum width of the
wrapped text. This will remove some black margins and reduce the final
size of the images, especially for those with short strings, e.g.
"recovery_error".

Also, add an option to centrally align the text; and fix a boundary
check in the recovery resource test.

Bug: 74397117
Test: Generate and check the image
Change-Id: Ib6cf61a9c99c4aeede16751dc0adfa23ce3f5424
2018-11-15 00:33:14 +00:00
Mark Salyzyn 8b54bc5e04 switch to using android-base/file.h instead of android-base/test_utils.h
Test: compile
Bug: 119313545
Change-Id: I664fb32522d01909c603d7b903475c4e9aea9223
2018-11-14 15:49:19 -08:00
Treehugger Robot 87e2fc3831 Merge "Use the non-LTO/PGO hwbinder in recovery_component_test" 2018-11-14 23:33:44 +00:00
Pirama Arumuga Nainar b3339ddc6b Use the non-LTO/PGO hwbinder in recovery_component_test
Bug: http://b/119560349
Bug: http://b/112277682

Currently, any binary links in a PGO-enabled static library also needs
to opt into PGO.  With b/119560349, this should be done automatically by
the build system.  Until then, use the non-PGO version of libhwbinder in
recovery_component_test.

Test: m ANDROID_PGO_INSTRUMENT=all
Change-Id: Ic6e44c1cb6d6f13e60e11a46fd7e5ef54238942b
2018-11-14 11:42:23 -08:00
Tianjie Xu 860c82a66b Merge "image generator: format the java file" 2018-11-14 19:10:38 +00:00
Josh Gao 9828dc14cb minadbd: track adb C++ version change.
adb is going to start using shiny new C++17 features like
std::optional in headers that minadbd includes.

Test: mma
Change-Id: I7eb100c48abbf2364d6ff5f30aa223480e2466a6
2018-11-13 14:19:04 -08:00
Tianjie Xu b97f7e5343 image generator: format the java file
Format the file with google-java-format --aosp. This makes the presubmit
hook happy.

Bug: 74397117
Test: mma
Change-Id: Ie342ed11449414b63f2d1ae781023e940b136bcb
2018-11-13 20:29:16 +00:00
Treehugger Robot 02a945556e Merge "Check and dump the signal info for killed updater." 2018-11-08 22:57:47 +00:00
Tao Bao 481613b35f Merge "minui: GRSurface manages data with std::unique_ptr." 2018-11-08 17:31:40 +00:00
Tao Bao e7b775ca2c Check and dump the signal info for killed updater.
WEXITSTATUS only gives meaningful value if WIFEXITED is true. So we may
see a slightly confusing message of "E:Error in /path/to/package (Status
0)" for a killed updater process (e.g. updater calling abort(3)). This
CL dumps the signal number for such a case.

Test: abort() in child process. Check the output.
Change-Id: I72e6654a6499d65155085de658062efb9f1e36ac
2018-11-07 15:25:30 -08:00
Tao Bao 9cf163e673 minui: GRSurface manages data with std::unique_ptr.
Test: Run recovery_unit_test on marlin.
Test: `Run graphics test` on taimen.
Change-Id: I34bd862049900b0030f2840a92a7fa3e02fa2c10
2018-11-07 14:36:45 -08:00
Tao Bao 67b7e64034 Merge changes If24c6b7c,I381b0103
* changes:
  image_generator: Fix the warnings on import order.
  Add tools/ to the style-checking path.
2018-11-06 22:04:50 +00:00
Tao Bao 529bb742b7 image_generator: Fix the warnings on import order.
[platform/bootable/recovery] tools/image_generator/ImageGenerator.java:36: Wrong order for java.util.StringTokenizer import. Use Ctrl+Shift+O (Eclipse) or Ctrl+Alt+O (Intellij) to sort imports. https://source.android.com/setup/code-style#order-import-statementsERRORS:
[platform/bootable/recovery] tools/image_generator/ImageGenerator.java:43: Wrong order for org.apache.commons.cli.CommandLine import. Use Ctrl+Shift+O (Eclipse) or Ctrl+Alt+O (Intellij) to sort imports. https://source.android.com/setup/code-style#order-import-statementsERRORS:
[platform/bootable/recovery] tools/image_generator/ImageGenerator.java:50: Extra separation in import group before 'org.w3c.dom.Document'

Test: `mmma -j bootable/recovery`
Test: `repo upload` no longer gives warnings.
Change-Id: If24c6b7ca33b9223b3e326a48885c24c35b5fa68
2018-11-06 11:34:31 -08:00
Tao Bao 6394a73713 Add tools/ to the style-checking path.
Test: Touch a Java file in tools/. `repo upload` gives warnings.
Change-Id: I381b01038d8a0c0e90817e383ca5323908fdd592
2018-11-06 11:27:13 -08:00
Tao Bao d1f105a466 Merge "tests: Add a testcase for updater overrun while patching." 2018-11-06 19:16:44 +00:00
Tao Bao 3cb3c524f6 tests: Add a testcase for updater overrun while patching.
For any patching command, the resulting data should always exactly fill
up the given target range.

Test: Run recovery_component_test on marlin.
Change-Id: Ib3cc1fc5c11094e2eab3fe370753db51c7c4135c
2018-11-05 20:47:53 -08:00
Treehugger Robot 06aea3a894 Merge "ui: Manage loaded resources with smart pointers." 2018-11-06 01:37:37 +00:00
Tao Bao a0404ecd16 Merge "updater: Error out on underrun during patching." 2018-11-05 21:17:25 +00:00
Tao Bao f720da5317 Merge "tests: Remove obsolete testdata files." 2018-11-05 20:09:03 +00:00
Tao Bao da409fb8d6 ui: Manage loaded resources with smart pointers.
Test: Run recovery_unit_test on marlin.
Test: `Run graphics test` on marlin.
Change-Id: I8239c3d9fb288f80ee11f615402768ff8ef8ecd0
2018-11-05 10:15:59 -08:00
Tao Bao 81ef508bd8 tests: Remove obsolete testdata files.
testdata/jarsigned.zip and testdata/unsigned.zip became dead since
commit 432918603f ("Refactor existing
tests to use gtest").

testdata/patch.bsdiff became dead when applypatch/applypatch.sh was
deleted (commit c3ef089dfa).

Test: Run recovery_unit_test and recovery_component_test.
Change-Id: Ie1a7f8850878593fcb7d4554759a539271ffb207
2018-11-05 09:10:11 -08:00
Tao Bao a2cff952cf updater: Error out on underrun during patching.
Test: Run recovery_component_test on marlin.
Change-Id: If23baf42aeacb48500edabc2eadd2e7119a848da
2018-11-05 08:55:11 -08:00
Tianjie Xu d84922216c Merge "Make the text image readable under recovery" 2018-11-05 06:41:55 +00:00
Treehugger Robot f2a9152408 Merge "minui: Use android::base::unique_fd in MinuiBackendFbdev." 2018-11-02 22:09:39 +00:00
Tao Bao f65d48bb5a minui: Use android::base::unique_fd in MinuiBackendFbdev.
Test: mmma -j bootable/recovery
Test: `Run graphics test` on taimen.
Change-Id: I5b25cafbd0107943606a87f0619242cf950174ac
2018-11-02 09:35:08 -07:00
Tao Bao 948790fa4c Merge "minui: Add GRSurface::Clone()." 2018-11-02 02:11:10 +00:00
Tianjie Xu 22dd019aa5 Make the text image readable under recovery
Encode the width, height and locale of the localized image as pixels so
that recovery can locate the correct range of the image from a
concatenated png file.

Also address a few todoes including wrapping the CJK text, making a
catch-all type for all languages.

Test: view the generated image under locale test
Change-Id: Icd3997eb4e992e76ef72526787d64c406f606970
2018-11-01 15:57:31 -07:00
Tao Bao 63b59dcead minui: Add GRSurface::Clone().
Clone() allows duplicating the image that's stored in the GRSurface.

Test: Run recovery_unit_test.
Change-Id: Ia50d507c6200f2de5f17143775de805247a60e1f
2018-11-01 12:14:46 -07:00
Tao Bao d2e1c0a981 Merge changes I69ce001a,I14514017,I8e67cda7
* changes:
  minui: Remove the default and copy ctors for GRSurface.
  minui: Refactor GRSurfaceAdf.
  minui: Refactor GRSurfaceFbdev.
2018-11-01 18:37:33 +00:00
Tianjie Xu cbdcfc0038 Merge "Refactor the code to check the metadata" 2018-11-01 17:38:18 +00:00
Tao Bao 4ba20f1031 Merge "tests: Use FRIEND_TEST in ScreenRecoveryUITest." 2018-11-01 17:19:16 +00:00
Tao Bao 929e481e71 tests: Use FRIEND_TEST in ScreenRecoveryUITest.
Test: Run recovery_unit_test on marlin.
Change-Id: I93ec6df8c056b2c485200822f18db0b852595242
2018-10-31 23:09:49 -07:00
Tao Bao 710bc535f4 minui: Remove the default and copy ctors for GRSurface.
As well as all the derived classes. Instances must be created with
Create(). A default copy ctor would mess up the ownership of the
mapped or allocated buffer in these classes, so that has been explicitly
removed.

Test: mmma -j bootable/recovery
Test: Run recovery_unit_test on marlin.
Test: `Run graphics test` on blueline.
Change-Id: I69ce001a9ec9e3ac851edb6ec4d3fa11f4aaea08
2018-10-31 20:28:29 -07:00
Tao Bao 1b18cf56e2 minui: Refactor GRSurfaceAdf.
Test: mmma -j bootable/recovery
Change-Id: I14514017aace4b7043a9db1f5a93ec130a6f89c4
2018-10-31 20:28:29 -07:00
Tao Bao 4a22b28bea minui: Refactor GRSurfaceFbdev.
- Adds Create() that returns a GRSurfaceFbdev instance.
- Moves away from using the copy ctor (precisely assignment operator) of
  GRSurfaceFbdev.
- Moves the GRSurfaceFbdev deallocation code into GRSurfaceFbdev's dtor.
- Manages MinuiBackendFbdev::gr_framebuffer with std::unique_ptr.

Test: mmma -j bootable/recovery
Test: `Run graphics test` on taimen.
Change-Id: I8e67cda7bc3a2feec0790124d035caa36fb58a89
2018-10-31 20:28:29 -07:00
Tao Bao 287d5dc618 Merge "minui: Add a protected GRSurface ctor." 2018-11-01 03:18:41 +00:00
David Anderson 023807fcf7 Merge "recovery: Fix mounting /system with dynamic partitions." 2018-10-31 20:38:46 +00:00
Tao Bao 44820ac1e3 minui: Add a protected GRSurface ctor.
This prepares for the removal of the default and copy ctors, by making
GRSurface::Create() as the only way to get GRSurface instances.

Test: mmma -j bootable/recovery
Test: Run recovery_unit_test on marlin.
Change-Id: I0c34c3f3967e252deb020907c83acbac8a8f36b9
2018-10-31 11:19:28 -07:00
Tianjie Xu 93b5bf261c Refactor the code to check the metadata
The two functions check_wipe_package() and check_newer_ab_build() were
using the same flow; and checked the same device properties against the
metadata file in the package. These properties include: ota_type,
pre-device, and serial number.

Therefore, we can consolidate the checks to a single function; and
continue to check the fingerprint and timestamp only for AB updates.

This change also addresses the need to accept multiple serial number in
the wipe package.

Bug: 118401208
Test: unit tests pass
Change-Id: Ia6bc48fb6effcae059a2ff2cf71764b4136b4c00
2018-10-31 11:03:58 -07:00
David Anderson 2b2f423ef6 recovery: Fix mounting /system with dynamic partitions.
When using dynamic partitions, the blk_device field in fstab_rec must be
translated to a /dev/block/dm-N node with
fs_mgr_update_logical_partition. However, init will not have created
these nodes to begin with since CreateLogicalPartitions is not called in
recovery. This patch addresses both issues.

Note that flashing system through fastbootd will not work while /system is
mounted.

Bug: 118634720
Test: manual test
Change-Id: I06c83309d09eab6b65245b1ed10c51d05398f23e
2018-10-30 13:47:59 -07:00
Tianjie Xu d84d570d8c Merge "Add description for the new translation" 2018-10-30 03:00:47 +00:00
Tianjie Xu fd27983b62 Merge "Switch to use commandline parser" 2018-10-29 22:23:31 +00:00
Tianjie Xu 41cb6a65ac Merge "Clean up the zipfile creation in InstallTest" 2018-10-29 21:54:25 +00:00
Tianjie Xu 9f843e7751 Add description for the new translation
As we localize the wipe data menu under the recovery mode, some
additional strings need the new translation. The strings include
1. The menu header that prompts a data wipe
2. Try again description
3. Factory reset description
4. The menu header to confirm a data wipe
5. Cancel description

We will resue the "Factory reset description" in the confirmation menu;
and the image_generator tool will be moved to this directory in later
cls.

Bug: 74397117
Test: mma
Change-Id: I706b8677dba506b62e890f6b200e3eb3b11ce483
2018-10-29 14:43:44 -07:00
Tianjie Xu f2fb49a3c4 Clean up the zipfile creation in InstallTest
Consolidate them into a static function.

Test: unit tests pass
Change-Id: If05b62215940b221fc499d779eedc5079f68a060
2018-10-29 12:04:13 -07:00