platform_bootable_recovery/tools/image_generator
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
..
Android.bp [LSC] Add LOCAL_LICENSE_KINDS to bootable/recovery 2021-02-14 10:37:20 -08:00
ImageGenerator.java Fix errorprone warnings that should be errors 2022-10-15 21:33:27 -07:00
ImageGenerator.mf Use a host java program to generate the background text 2018-10-12 15:46:32 -07:00
README.md Add doc for image_generator 2020-12-20 20:00:30 -08:00

Recovery Image Generator

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.

Usage:

java -jar path_to_jar --image_width imageWidth --text_name textName --font_dir fontDirectory --resource_dir resourceDirectory --output_file outputFilename

Description of the 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.

Locales

Supported locales and background texts are located in tools/recovery_l10n/res/. For each background text, the tool renders a localized image for every supported locale.

Each individual localized image contains an encoded locale header string, and the rendered background text. The locale header string is generated by Locale.forLanguageTag. And sample result include en-US, zh-CN, etc. These individual images are then concatenated together to form the final resource image that locates in res/images, e.g. install_text.png