Commit graph

20 commits

Author SHA1 Message Date
Cole Faust
e587589cda Fix errorprone warnings that should be errors
This commit is part of a large scale change to fix errorprone
errors that have been downgraded to warnings in the android
source tree, so that they can be promoted to errors again.
The full list of changes include the following, but not all
will be present in any one individual commit:

BadAnnotationImplementation
BadShiftAmount
BanJNDI
BoxedPrimitiveEquality
ComparableType
ComplexBooleanConstant
CollectionToArraySafeParameter
ConditionalExpressionNumericPromotion
DangerousLiteralNull
DoubleBraceInitialization
DurationFrom
DurationTemporalUnit
EmptyTopLevelDeclaration
EqualsNull
EqualsReference
FormatString
FromTemporalAccessor
GetClassOnAnnotation
GetClassOnClass
HashtableContains
IdentityBinaryExpression
IdentityHashMapBoxing
InstantTemporalUnit
InvalidTimeZoneID
InvalidZoneId
IsInstanceIncompatibleType
JUnitParameterMethodNotFound
LockOnBoxedPrimitive
MathRoundIntLong
MislabeledAndroidString
MisusedDayOfYear
MissingSuperCall
MisusedWeekYear
ModifyingCollectionWithItself
NoCanIgnoreReturnValueOnClasses
NonRuntimeAnnotation
NullableOnContainingClass
NullTernary
OverridesJavaxInjectableMethod
ParcelableCreator
PeriodFrom
PreconditionsInvalidPlaceholder
ProtoBuilderReturnValueIgnored
ProtoFieldNullComparison
RandomModInteger
RectIntersectReturnValueIgnored
ReturnValueIgnored
SelfAssignment
SelfComparison
SelfEquals
SizeGreaterThanOrEqualsZero
StringBuilderInitWithChar
TreeToString
TryFailThrowable
UnnecessaryCheckNotNull
UnusedCollectionModifiedInPlace
XorPower

See https://errorprone.info/bugpatterns for more
information on the checks.

Bug: 253827323
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: I9393ceac22201e2bde4d5af7ec13e90d94956ed7
2022-10-15 21:33:27 -07:00
Seigo Nonaka
8929f899ac Revert "Update ImageGenerator to match the latest font names."
This reverts commit 0a4e828357.

Reason for revert: font file name requirement has removed.

Change-Id: I4499dafa3bb3bfcbb8a97dcfd5b4593db467fbd3
2021-03-31 06:34:18 +00:00
Seigo Nonaka
0a4e828357 Update ImageGenerator to match the latest font names.
To be able to update the font by font updater, the font file needs
to match with PostScript names.

Bug: 179952916
Test: m fontchain_lint

Change-Id: Ie1e2f9ee85625216be6b2cb0781df34faec97673
2021-02-10 18:04:01 -08:00
Marek Z Jeziorek
b84e81b253 Update Indic scripts
Bug: 175510263

Test: Manual
Test: https://en.wikipedia.org/wiki/Bengali_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Devanagari_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Gujarati_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Gurmukhi_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Kannada_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Malayalam_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Sinhala_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Tamil_(Unicode_block)
Test: https://en.wikipedia.org/wiki/Telugu_(Unicode_block)
Test: http://www.unicode.org/udhr/d/udhr_ben.html
Test: http://www.unicode.org/udhr/d/udhr_hin.html
Test: http://www.unicode.org/udhr/d/udhr_guj.html
Test: http://unicode.org/udhr/d/udhr_pan.html
Test: http://www.unicode.org/udhr/d/udhr_kan.html
Test: http://www.unicode.org/udhr/d/udhr_mal.html
Test: https://www.unicode.org/udhr/d/udhr_sin.html
Test: http://www.unicode.org/udhr/d/udhr_tam.html
Test: http://www.unicode.org/udhr/d/udhr_tel.html
Change-Id: I60c435f5c45595ed73df2ac4a9f688725f7aad07
2020-12-14 02:44:28 +00:00
Marek Z Jeziorek
29f1fba107 Update Ethiopic fonts to a variable format
Bug: 169374341

Test: All tests below are manual.
Test: 0. Open a reference device with an existing set of fonts
Test: 1. Upload new fonts.xml and the new fonts to a test device
Test: 2. Change language to Ethiopic on both devices
Test: 3. Open settings on both devices and visually compare them (they
should be the same)
Test: 4. Open the following pages on the test device (and on a reference
device):
Test:  https://en.wikipedia.org/wiki/Ethiopic_(Unicode_block)
Test:  https://unicode.org/udhr/d/udhr_amh.html
Test:  https://www.wordproject.org/bibles/verses/amharic/26_peace.htm
Test:  ... and visually compare them (they should be the same)
Test: to look at recovery `adb reboot recovery`, then use the button to select graphic test.

Change-Id: I1a7e92cfd580bdb122c1038538afb007bfcf780f
2020-09-25 01:52:07 +00:00
Marek Z Jeziorek
c6820e1c20 Update Armenian fonts to a variable format
Bug: 168657713

Test: All tests below are manual.
Test: 0. Open a reference device with an existing set of fonts
Test: 1. Upload new fonts.xml and the new fonts to a test device
Test: 2. Change language to Armenian on both devices (look for Հայերեն
or similar)
Test: 3. Open settings on both devices and visually compare them (they
should be the same)
Test: 4. Open the following pages on the test device (and on a reference
device):
Test:  https://en.wikipedia.org/wiki/Armenian_(Unicode_block)
Test:  https://unicode.org/udhr/d/udhr_hye.html
Test:
https://hy.wikipedia.org/wiki/%D5%80%D5%A1%D5%B5%D5%A5%D6%80%D5%A5%D5%B6
Test:  ... and visually compare them (they should be the same)

Change-Id: If95a0f26fb46c030a7f50bd001474bd9a1a103bc
2020-09-16 00:01:32 +00:00
Marek Jeziorek
8845e4d701 Revert^2 "New priority scripts + critical updates to fonts."
After https://googleplex-android-review.git.corp.google.com/q/I403a72608ad3a1034e52a51b73871e08cf6283a4
merger this change should be fine.

d7e0920489

Change-Id: Ifa8fcc16ed5f3c10c0f9a6605e02f1ff9bddcf31
2020-02-26 16:56:00 +00:00
Yi-Ling Chuang
d7e0920489 Revert "New priority scripts + critical updates to fonts."
Revert "New priority scripts + critical updates to fonts."

Revert submission 10387937-system_fonts_update

Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=sdk_phone_armv7-sdk&lkgb=6229266&lkbb=6230292&fkbb=6229328, bug b/150095308
Reverted Changes:
I41e030b63:New priority scripts + critical updates to fonts.
I030e650b8:New priority scripts + critical updates to fonts.
I86d46f4b6:New priority scripts + critical updates to fonts.

Change-Id: I1ea1fd8314fae95ad7ec07d41b3ff55ef2e0333e
2020-02-24 01:43:09 +00:00
Marek Z Jeziorek
f165b9c886 New priority scripts + critical updates to fonts.
Author: Marek Z. Jeziorek <marekj@google.com>

Needs to be submitted with
https://googleplex-android-review.git.corp.google.com/c/platform/frameworks/base/+/10280447

BUGANIZER BUGS Addressed
========================
BUG: 111550750
BUG: 139104208
BUG: 148752969
BUG: 148752946

CHANGES
=======
Remove font files no longer required
deleted:    other/NotoSansAdlam-Regular.ttf
deleted:    other/NotoSansGeorgian-Bold.otf
deleted:    other/NotoSansGeorgian-Medium.otf
deleted:    other/NotoSansGeorgian-Regular.otf
deleted:    other/NotoSansJavanese-Regular.ttf
deleted:    other/NotoSansTifinagh-Regular.ttf
deleted:    other/NotoSerifGeorgian-Bold.otf
deleted:    other/NotoSerifGeorgian-Regular.otf

modified:   fonts.mk
modified:   other/Android.bp

Replacements for the above deleted files:
new file:   other/NotoSansAdlam-VF.ttf
new file:   other/NotoSansGeorgian-VF.ttf
new file:   other/NotoSansJavanese-Regular.otf
new file:   other/NotoSansTifinagh-Regular.otf
new file:   other/NotoSerifGeorgian-VF.ttf

New additions to Android fonts (living/revival languages):
new file:   other/NotoSansGunjalaGondi-Regular.otf
new file:   other/NotoSansHanifiRohingya-Regular.otf
new file:   other/NotoSansKhojki-Regular.otf
new file:   other/NotoSansMasaramGondi-Regular.otf
new file:   other/NotoSansWancho-Regular.otf
new file:   other/NotoSansWarangCiti-Regular.otf

Test: ===================================================
Test: on Android (click on a link within a browser):
Test: Adlam https://en.wikipedia.org/wiki/Adlam_(Unicode_block)
Test: Georgian https://en.wikipedia.org/wiki/Georgian_(Unicode_block)
Test: Georgian https://en.wikipedia.org/wiki/Georgian_Extended
Test: Gunjala Gondi
https://en.wikipedia.org/wiki/Gunjala_Gondi_(Unicode_block)
Test: Hanifi Rohingya
https://en.wikipedia.org/wiki/Hanifi_Rohingya_(Unicode_block)
Test: Javanese https://en.wikipedia.org/wiki/Javanese_(Unicode_block)
Test: Khojki https://en.wikipedia.org/wiki/Khojki_(Unicode_block)
Test: Masaram Gondi
https://en.wikipedia.org/wiki/Masaram_Gondi_(Unicode_block)
Test: Tifinagh https://en.wikipedia.org/wiki/Tifinagh_(Unicode_block)
Test: Wancho https://en.wikipedia.org/wiki/Wancho_(Unicode_block)
Test: Warang Citi
https://en.wikipedia.org/wiki/Warang_Citi_(Unicode_block)
Test: ===================================================
Test: on Android (click on a link within a browser):
Test: udhr Adlam https://unicode.org/udhr/d/udhr_fuf_adlm.html
Test: udhr Georgian https://unicode.org/udhr/d/udhr_kat.html
Test: udhr Gunjala Gondi NA (Not Available)
Test: udhr Hanifi Rohingya NA (Not Available)
Test: udhr Javanese https://unicode.org/udhr/d/udhr_jav_java.html
Test: udhr Khojki NA (Not Available)
Test: udhr Masaram Gondi NA (Not Available)
Test: udhr Tifinagh https://unicode.org/udhr/d/udhr_tzm_tfng.html
Test: udhr Wancho NA (Not Available)
Test: udhr Warang Citi NA (Not Available)
Test: ===================================
Test: on Android (comparing two systems - before/after)
Test: Georgian: Systems settings menus compared side by side
Test: ===================================
Test: on Mac (comparing the existing Android fonts with the new font
Test: using diffenator - https://github.com/googlefonts/fontdiffenator)
Test: ===================================
Test: SansAdlam-VF: VALIDATED
Test: SansGeorgian-VF: VALIDATED
Test: SansGunjalaGondi: NEW (No Applicable)
Test: SansHanifiRohingya: NEW (No Applicable)
Test: SansJavanese: VALIDATED
Test: SansKhojki: NEW (No Applicable)
Test: SansMasaramGondi: NEW (No Applicable)
Test: SansTifinagh: VALIDATED
Test: SansWancho: NEW (No Applicable)
Test: SansWarangCiti: NEW (No Applicable)
Test: SerifGeorgian-VF: VALIDATED

Change-Id: I41e030b63f83ec243ae6f174c061faa5298bd6dc
Signed-off-by: Marek Z Jeziorek <marekj@google.com>
2020-02-22 21:43:12 +00: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
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
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
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
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
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
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
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
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