Commit graph

103 commits

Author SHA1 Message Date
Bill Yi
25bfb1bea9 Import translations. DO NOT MERGE
Change-Id: Id46b7b2d7bf8f9fe1edd9bb90cc0e3d279f3472c
Auto-generated-cl: translation import
2019-02-01 21:22:54 -08:00
Tianjie Xu
e633849dc9 Merge "ImageGenerator: ignore the duplicate locales" am: 7846823125 am: af36438170
am: f502a8c979

Change-Id: I9768e7f3ced5464feea8cfac6f2e16d646de0a31
2018-11-30 20:29:20 -08:00
Tianjie Xu
af36438170 Merge "ImageGenerator: ignore the duplicate locales"
am: 7846823125

Change-Id: I8a50e53fa5da77f264bc45fcbe51f9f0308b3e3d
2018-11-30 20:15:13 -08:00
xunchang
a48f00a5e8 ImageGenerator: ignore the duplicate locales
Some language variants have the duplicated translations. Therefore,
we can compare the translated string for each locale to the default
text string for that language. And the duplicated ones will be skipped
to save some space.

Bug: 74397117
Test: generate and check the image
Change-Id: If51fa8fe700350c06f084f0e74d3698b82d6f177
2018-11-29 12:13:02 -08:00
Tianjie Xu
b1cba43877 Merge "ImageGenerator: Handle special characters in xml files" am: 697003dbce am: f2099b7872
am: 2a0f71627e

Change-Id: I27f54dd877eab5be5ea8170e2923cf8de7fe97a4
2018-11-29 11:00:37 -08:00
Tianjie Xu
f2099b7872 Merge "ImageGenerator: Handle special characters in xml files"
am: 697003dbce

Change-Id: Iee0eecaa259235f9546db3ca34e557b945ee3c5b
2018-11-29 10:46:08 -08:00
xunchang
1eeee45a7d ImageGenerator: Handle special characters in xml files
In specific, the apostrophe appears as "\'"; and a new line appears as
"\n\n". We need to handle these two cases accordingly.

Bug: 74397117
Test: generate and check the image
Change-Id: I67b1ebce7494e4a685a0c7334da58dc6df2ccb29
2018-11-29 18:28:13 +00:00
Tianjie Xu
10f1a2fd59 Merge "ImageGenerator: switch to BreakIterator from icu library" am: 86936c46a8 am: 49ba6fc534
am: 64cedfe780

Change-Id: Ic060275927516ce6df2902e6bd88c659376274cc
2018-11-28 10:53:57 -08:00
Tianjie Xu
49ba6fc534 Merge "ImageGenerator: switch to BreakIterator from icu library"
am: 86936c46a8

Change-Id: Ic21c9505c8a8a4509fecc2a96635e9f5014e134a
2018-11-28 10:46:18 -08:00
xunchang
acacc9d30f ImageGenerator: switch to BreakIterator from icu library
The icu library takes care of the line boundary, so that we don't need
to worry about if the given language is logogram.

Bug: 74397117
Test: Generate and check the image
Change-Id: I1447f51b178c0fca83c5497d2f5b8e4009ca7f64
2018-11-27 15:11:04 -08:00
Tianjie Xu
e4f1dd1063 Merge changes I7b7cee68,I07d22c0d am: fb8a636a2d am: 5e789287d4
am: f07a897bf2

Change-Id: I7168187a3fd9555def54b2278af27ac55360d8c1
2018-11-26 14:24:06 -08:00
Tianjie Xu
5e789287d4 Merge changes I7b7cee68,I07d22c0d
am: fb8a636a2d

Change-Id: I859acad650b34e6038034ecd8dd42d899eb40281
2018-11-26 14:15:08 -08:00
Tianjie Xu
7b636b64a1 ImageGenerator: add an option to specify the supported locales
A smaller list of locales helps to reduce the size of the generated
images; and mitigate the additional space requirement on the tight boot
image for some devices. The caller of the program will be responsible
for providing the locale list.

Also add a verbose option and switch to logger.

Bug: 74397117
Test: generate and check the image
Change-Id: I7b7cee681ccdc6e13fdd0575cf02f8add2ad9a2d
2018-11-26 10:44:24 -08:00
Tianjie Xu
542c617883 Handle rendering problem for the word "Android" and punctuations
The word "Android" is not translated. As a result, some locales fail to
render this word and some punctuations, leading to holes in the middle
of the text. In these cases, we will need to fall back to the default font
and re-measure the text width.

For now, we haven't handled the mix of latin and logogram languages; and
we can blacklist the problematic ones first.

Bug: 74397117
Test: generate and inspect the image
Change-Id: I07d22c0dae2e31eb74f2954e354cd39a42c22f14
2018-11-26 10:44:24 -08:00
Tianjie Xu
2ae9ad72c2 Merge "Delete the dumpkey host tool" am: 14d5540426 am: 74fa7cd1d9
am: 8f11e2a18c

Change-Id: Ief116f7789a735281ab8011f23c2bc71a8b04659
2018-11-20 18:19:32 -08:00
Tianjie Xu
74fa7cd1d9 Merge "Delete the dumpkey host tool"
am: 14d5540426

Change-Id: Ie3be5a201b8ef98ce936e9f0904c72667fa21dc0
2018-11-20 18:13:40 -08:00
Tianjie Xu
14d5540426 Merge "Delete the dumpkey host tool" 2018-11-21 01:45:39 +00:00
Bill Yi
967d4ac73c Import translations. DO NOT MERGE
Change-Id: I1bd6d7f12c7bfffb7e022f09347a5be5a96766a3
Auto-generated-cl: translation import
2018-11-15 16:16:39 -08:00
Tianjie Xu
bf21f1eaea Merge "Adjust the background text image width to reduce its size" am: 4ef9cb27eb am: f565ebb45f
am: 4850d463a5

Change-Id: I9d6feaa2fcb604aadcfb45666443f9a181e5586c
2018-11-14 22:13:55 -08: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
Tianjie Xu
2138b28e3c Merge "image generator: format the java file" am: 860c82a66b am: 5faf4021c9
am: 77e1e5c2a4

Change-Id: I2e7c7b133e35799620a57a24d93e75f8f956c3f5
2018-11-14 13:05:31 -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
Bill Yi
f560a89470 Import translations. DO NOT MERGE
Change-Id: I1bd6d7f12c7bfffb7e022f09347a5be5a96766a3
Auto-generated-cl: translation import
2018-11-13 08:09:37 -08:00
Tao Bao
cf2a142c43 Merge changes If24c6b7c,I381b0103 am: 67b7e64034 am: aeda63b106
am: afad7170bb

Change-Id: I1f715c5de7c19514c5f9b5d62014bcf5ddb80598
2018-11-06 14:23:30 -08: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
Tianjie Xu
59d0c1df0a Merge "Make the text image readable under recovery" am: d84922216c am: d50aa4f4ee
am: 69067f1946

Change-Id: I3ed6dc0ce70a8b859bd703cd7a322ee899f8e647
2018-11-04 23:06:54 -08: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
Bill Yi
df115ad537 Import translations. DO NOT MERGE
Change-Id: Icfe0dc21567e74da70cc7b2f1229815bceeac958
Auto-generated-cl: translation import
2018-10-30 19:01:50 -07:00
Tianjie Xu
d84d570d8c Merge "Add description for the new translation" 2018-10-30 03:00:47 +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
aeec0b2076 Delete the dumpkey host tool
We used to dump the public key files into some text format; and parse
them under recovery. But now we have switched to read the certificates
directly from the zip files; and there's no caller of this dumpkey host
tool any more.

Bug: 116655889
Test: mma
Change-Id: I115592e2a894b3375495c81cb249d1bed1a5d973
2018-10-29 11:14:09 -07:00
Tianjie Xu
edfeb97f9f Switch to use commandline parser
The commandline parser adds some flexibility to the argument parsing. It
also makes the help message more descriptive.

Bug: 74397117
Test: generate a image, checks the help message
Change-Id: Ib238658a9a6fa8806f1b0dde419c8fb970e7cb37
2018-10-29 11:01:36 -07:00
Tianjie Xu
721f6792b4 Use a host java program to generate the background text
This program uses java.awt.Graphics2D to generate the background text
files used under recovery mode. And thus we don't need to do the manual
work by running emulators with different dpi.

The program takes the following parameters:
1. imageWidth: The number of pixels per line; and the text strings will be
   wrapped accordingly.
2. textName: The description of the text string, e.g. "recovery_erasing",
   "recovery_installing_security"
3. fontDirectory: The directory that contains all the support .ttf | .ttc
   files, e.g. $OUT/system/fonts/
4. resourceDirectory: The resource directory that contains all the translated
   strings in xml format, e.g. bootable/recovery/tools/recovery_l10n/res/
5. outputFilename: Path to the generated image.

Bug: 74397117
Test: checks the generated png files
Change-Id: Ia5506a0a4f5da1ebfd7090345eb246f44b265075
2018-10-12 15:46:32 -07:00
Tao Bao
f91fdfb3fc Merge "tools: Move to Soong." am: 6b16093b29
am: 9016deefe4

Change-Id: I1c8b1dd470279e3e5b8ca15c76dfe09691257bd6
2018-05-29 11:09:10 -07: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
Bill Yi
0bfea531d8 Import translations. DO NOT MERGE
Change-Id: I60c4e4ebce0bf3abcc2b0b5ab90b0fc5e9406c34
Auto-generated-cl: translation import
2018-02-21 17:03:26 -08:00
hansson
a7df318913 Merge "Set LOCAL_SDK_VERSION where possible." am: bf52b7e00b am: cd06b1696d
am: b1ac1b8494

Change-Id: Id51803759530a630ecfb287126c5e366938ad09f
2018-02-21 17:47:02 +00:00
hansson
b1ac1b8494 Merge "Set LOCAL_SDK_VERSION where possible." am: bf52b7e00b
am: cd06b1696d

Change-Id: I78bbe2e58b6d7d442984d3533dedbae705cb156f
2018-02-21 17:37:58 +00:00
Anton Hansson
6cc499ae07 Set LOCAL_SDK_VERSION where possible.
This change sets LOCAL_SDK_VERSION for all packages where
this is possible without breaking the build, and
LOCAL_PRIVATE_PLATFORM_APIS := true otherwise.

Setting one of these two will be made required soon, and this
is a change in preparation for that. Not setting LOCAL_SDK_VERSION
makes the app implicitly depend on the bootclasspath, which is
often not required. This change effectively makes depending on
private apis opt-in rather than opt-out.

Test: make relevant packages
Bug: 73535841
Change-Id: I82fee834c5d92e699e9571933faded11c6d4596e
2018-02-21 14:11:02 +00:00
Bill Yi
9bc56553dd Import translations. DO NOT MERGE
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import

Bug: 68003463
Change-Id: Iae8fc3afc1453b6b609dae2bbff08231d00735e7
2017-10-20 01:50:04 -07:00
Bill Yi
4d9bd3798e Import translations. DO NOT MERGE
Change-Id: I8de15b09695dea1a53a368c942cb8a7dd30ed87d
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import
2017-09-13 08:18:22 -07:00
Bill Yi
8f84774a68 Import translations. DO NOT MERGE
Change-Id: If7aad0299a372403f2875fe3aeb60ad07acb7b47
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import
2017-09-06 06:24:06 -07:00
Bill Yi
9227a5ecec Import translations. DO NOT MERGE
Change-Id: I0b2ff87788553d2c49519d005f8876cd7318b8c6
Auto-generated-cl: translation import
2017-08-27 11:10:05 -07:00
Bill Yi
7b795abd13 Import translations. DO NOT MERGE
Change-Id: I8fb3f973ecd0dfe54dea048ef445d45902eae028
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import
2017-08-23 19:34:04 -07:00
Bill Yi
e332c5ad0e Import translations. DO NOT MERGE
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import

Bug: 64680434
Change-Id: Ie356071f322238a5fb3a4610d2a79141c9aa9377
2017-08-17 00:34:01 -07:00
Bill Yi
616256e739 Import translations. DO NOT MERGE
Change-Id: I99a2cf060c75a70b3baf3c22d538fbfa08828474
Auto-generated-cl: translation import
Exempt-From-Owner-Approval: translation import
2017-08-12 06:53:13 -07:00
Bill Yi
d07422c448 Import translations. DO NOT MERGE
Change-Id: I90d94072de955eca8ea38762faa5d3e5a4f295db
Auto-generated-cl: translation import
2017-02-27 17:41:01 -08:00
Tianjie Xu
29a89a73c5 Merge "Restore the max width for recovery background texts" am: c1df344381 am: b037cff12e am: f1a371b1b0
am: 281fa9fd30

Change-Id: I109593352d526941895eafea41f87a49561f8fd7
2017-01-23 21:15:15 +00:00
Tianjie Xu
f1a371b1b0 Merge "Restore the max width for recovery background texts" am: c1df344381
am: b037cff12e

Change-Id: I177c4d5edcf8e0ee9874bd1627d0ae12a43ae506
2017-01-23 20:58:06 +00:00
Tianjie Xu
0f7031e295 Restore the max width for recovery background texts
Restore the max width to 900px for xxhdpi and 1200px for xxxhdpi

Bug: 34541299
Test: Checked width and images passed recovery_manual_test
Change-Id: If0fd51f93cfb3f965d4e9e69be5626eba89eb857
2017-01-22 18:46:04 -08:00