History log of /frameworks/minikin/libs/minikin/Android.bp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
56f8ea51818c682991c1e700e07f93e26167ed89 27-Feb-2018 Seigo Nonaka <nona@google.com> Move BidiText to its own header with tests

Also revised the doLayoutRunCached arguments to use string pieces.

StaticLayout creation time:
RandomText Balanced Hyphenation : 18,073,107 -> 18,016,001: (-0.3%)
RandomText Balanced NoHyphenation : 7,450,524 -> 7,443,239: (-0.1%)
RandomText Greedy Hyphenation : 7,400,186 -> 7,395,553: (-0.1%)
RandomText Greedy NoHyphenation : 7,399,679 -> 7,388,850: (-0.1%)
PrecomputedText Balanced Hyphenation : 689,868 -> 694,994: (+0.7%)
PrecomputedText Balanced NoHyphenation: 516,777 -> 521,159: (+0.8%)
PrecomputedText Greedy Hyphenation : 466,565 -> 467,685: (+0.2%)
PrecomputedText Greedy NoHyphenation : 466,130 -> 469,467: (+0.7%)

PrecomputedText creation time:
NoStyled Hyphenation : 18,068,965 -> 17,992,733: (-0.4%)
NoStyled Hyphenation WidthOnly : 18,028,284 -> 18,055,468: (+0.2%)
NoStyled NoHyphenation : 7,454,650 -> 7,487,982: (+0.4%)
NoStyled NoHyphenation WidthOnly : 7,445,369 -> 7,454,787: (+0.1%)
Styled Hyphenation : 15,385,852 -> 15,357,579: (-0.2%)
Styled Hyphenation WidthOnly : 15,390,795 -> 15,381,445: (-0.1%)
Styled NoHyphenation : 14,975,306 -> 14,939,929: (-0.2%)
Styled NoHyphenation WidthOnly : 14,983,997 -> 14,979,650: (-0.0%)

StaticLayout draw time:
PrecomputedText NoStyled : 536,392 -> 541,213: (+0.9%)
PrecomputedText NoStyled WithoutCache : 528,682 -> 524,672: (-0.8%)
PrecomputedText Styled : 806,088 -> 820,548: (+1.8%)
PrecomputedText Styled WithoutCache : 856,605 -> 844,277: (-1.4%)
RandomText NoStyled : 535,535 -> 547,398: (+2.2%)
RandomText NoStyled WithoutCache : 6,819,228 -> 6,807,230: (-0.2%)
RandomText Styled : 2,929,458 -> 2,930,573: (+0.0%)
RandomText Styled WithoutCache : 3,360,559 -> 3,384,135: (+0.7%)

Bug: 65024629
Test: minikin_tests
Test: atest CtsWidgetTestCases:EditTextTest
CtsWidgetTestCases:TextViewFadingEdgeTest
FrameworksCoreTests:TextViewFallbackLineSpacingTest
FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest
CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest
CtsTextTestCases FrameworksCoreTests:android.text
Change-Id: I5080db4c42be496771a4042464b48395bd1567eb
/frameworks/minikin/libs/minikin/Android.bp
e9bf55ab62350e91a748432ebf72566453332807 16-Feb-2018 Seigo Nonaka <nona@google.com> Enable thread safety annotation

Bug: 65024629
Test: minikin_tests
Test: minikin_stress_tests
Change-Id: I7a118b56c9ef241d9446126386f778466df15db8
/frameworks/minikin/libs/minikin/Android.bp
7d8c4ed5b7683e16e6205a6b52b1910f8ff6b51b 09-Feb-2018 Seigo Nonaka <nona@google.com> Remove global mutex lock from minikin

All modules are now free from gMinikinLock.

This increases the performance of parallel text layout in background thread.

Here is a raw performance score on walleye-userdebug

StaticLayout creation time in parallel:
RandomText Thread 1 : 7,348,118 -> 7,327,542: (-0.3%)
RandomText Thread 2 : 13,872,214 -> 7,402,398: (-46.6%)
RandomText Thread 4 : 24,999,986 -> 8,185,263: (-67.3%)

StaticLayout creation time:
MeasuredText Balanced Hyphenation : 774,245 -> 781,534: (+0.9%)
MeasuredText Balanced NoHyphenation: 587,157 -> 574,882: (-2.1%)
MeasuredText Greedy Hyphenation : 535,843 -> 523,630: (-2.3%)
MeasuredText Greedy NoHyphenation : 534,965 -> 522,259: (-2.4%)
RandomText Balanced Hyphenation : 17,886,651 -> 17,814,108: (-0.4%)
RandomText Balanced NoHyphenation : 7,385,288 -> 7,410,588: (+0.3%)
RandomText Greedy Hyphenation : 7,380,350 -> 7,296,407: (-1.1%)
RandomText Greedy NoHyphenation : 7,358,680 -> 7,320,040: (-0.5%)

MeasuredText creation time
NoStyled Hyphenation : 17,587,451 -> 17,544,350: (-0.2%)
NoStyled Hyphenation WidthOnly : 17,112,258 -> 17,092,507: (-0.1%)
NoStyled NoHyphenation : 7,307,064 -> 7,296,519: (-0.1%)
NoStyled NoHyphenation WidthOnly : 6,880,721 -> 6,848,543: (-0.5%)
Styled Hyphenation : 14,753,919 -> 14,659,049: (-0.6%)
Styled Hyphenation WidthOnly : 13,767,908 -> 13,755,623: (-0.1%)
Styled NoHyphenation : 14,368,118 -> 14,337,125: (-0.2%)
Styled NoHyphenation WidthOnly : 13,414,942 -> 13,375,858: (-0.3%)

StaticLayout draw time:
MeasuredText NoStyled : 676,438 -> 678,795: (+0.3%)
MeasuredText NoStyled WithoutCache : 663,041 -> 654,687: (-1.3%)
MeasuredText Styled : 885,574 -> 890,281: (+0.5%)
MeasuredText Styled WithoutCache : 944,259 -> 928,675: (-1.7%)
RandomText NoStyled : 562,361 -> 553,651: (-1.5%)
RandomText NoStyled WithoutCache : 6,678,968 -> 6,696,637: (+0.3%)
RandomText Styled : 2,970,369 -> 2,933,900: (-1.2%)
RandomText Styled WithoutCache : 3,408,554 -> 3,387,260: (-0.6%)

Bug: 37567215
Test: minikin_tests
Test: minikin_stress_tests
Test: atest CtsWidgetTestCases:EditTextTest
CtsWidgetTestCases:TextViewFadingEdgeTest
FrameworksCoreTests:TextViewFallbackLineSpacingTest
FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest
CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest
CtsTextTestCases CtsGraphicsTestCases:PaintTest
Test: bit FrameworksCoreTests:android.text.
Change-Id: I6aab090be6bfa65f1205b26b77c6c65823a3d94e
/frameworks/minikin/libs/minikin/Android.bp
a22996e31226e3dcbfb0c57d03ca9ac54028fc28 01-Feb-2018 Seigo Nonaka <nona@google.com> Remove HbFontCache

This is 2nd attempt of the If86840fcf9.

HbFontCache was introduced for saving hb_font_t creation cost, but it
turned out that creating hb_font_t from another hb_font_t is cheap.

Instead of computing hb_font_t from buffer, compute hb_font_t in Zygote
process and store it in Font class.

By this change, mutex lock is no longer necessary for all HarfBuzz
related function calls.

StaticLayout creation time (w/o -> w/ patch, N=10, walleye-userdebug):
MeasuredText Balanced Hyphenation : 712,896 -> 705,864: (-1.0%)
MeasuredText Balanced NoHyphenation: 548,745 -> 535,891: (-2.3%)
MeasuredText Greedy Hyphenation : 486,093 -> 479,541: (-1.3%)
MeasuredText Greedy NoHyphenation : 491,053 -> 480,571: (-2.1%)
RandomText Balanced Hyphenation : 17,749,025 -> 17,426,362: (-1.8%)
RandomText Balanced NoHyphenation : 7,433,576 -> 7,401,203: (-0.4%)
RandomText Greedy Hyphenation : 7,388,658 -> 7,327,291: (-0.8%)
RandomText Greedy NoHyphenation : 7,375,390 -> 7,381,066: (+0.1%)

MeasuredText creation time (w/o -> w/ patch, N=10, walleye-userdebug)
Styled Hyphenation : 14,364,510 -> 14,430,830: (+0.5%)
Styled Hyphenation WidthOnly : 13,629,489 -> 13,446,345: (-1.3%)
Styled NoHyphenation : 14,104,669 -> 13,873,049: (-1.6%)
Styled NoHyphenation WidthOnly : 13,304,362 -> 13,091,473: (-1.6%)
NoStyled Hyphenation : 17,512,424 -> 17,368,559: (-0.8%)
NoStyled Hyphenation WidthOnly : 17,095,872 -> 16,985,377: (-0.6%)
NoStyled NoHyphenation : 7,371,994 -> 7,344,223: (-0.4%)
NoStyled NoHyphenation WidthOnly : 6,932,519 -> 6,950,149: (+0.3%)

StaticLayout draw time (w/o -> w/ patch, N=10, walleye-userdebug)
MeasuredText NoStyled : 661,017 -> 657,547: (-0.5%)
MeasuredText NoStyled WithoutCache : 660,506 -> 651,035: (-1.4%)
MeasuredText Styled : 868,116 -> 854,418: (-1.6%)
MeasuredText Styled WithoutCache : 916,078 -> 880,388: (-3.9%)
RandomText NoStyled : 561,192 -> 547,528: (-2.4%)
RandomText NoStyled WithoutCache : 6,758,025 -> 6,695,065: (-0.9%)
RandomText Styled : 2,886,462 -> 2,843,580: (-1.5%)
RandomText Styled WithoutCache : 3,319,513 -> 3,276,261: (-1.3%)

Bug: 37567215
Test: minikin_tests
Test: hwui_unit_tests
Test: atest CtsTextTestCases \
CtsWidgetTestCases:EditTextTest \
CtsWidgetTestCases:TextViewFadingEdgeTest \
FrameworksCoreTests:TextViewFallbackLineSpacingTest \
FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest \
CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest
Test: bit FrameworksCoreTests:android.text.

Change-Id: If523fce5ce3747b03a1d3bad8c5938a4e2901792
/frameworks/minikin/libs/minikin/Android.bp
4de86391218f9fa2d1ba15d78cd80514fb5ce43d 07-Feb-2018 Seigo Nonaka <nona@google.com> Revert "Remove HbFontCache"

This causes a regression for some characters.

This reverts commit 6c6954b40f7a6bd6dcf8a3d01c78600437c2e011.

Bug: 73054061
Change-Id: I010754474eebd55e43666893c4f7af9de12b22f3
/frameworks/minikin/libs/minikin/Android.bp
6c6954b40f7a6bd6dcf8a3d01c78600437c2e011 01-Feb-2018 Seigo Nonaka <nona@google.com> Remove HbFontCache

HbFontCache was introduced for saving hb_font_t creation cost, but it
turned out that creating hb_font_t from another hb_font_t is cheap.

Instead of computing hb_font_t from buffer, compute hb_font_t in Zygote
process and store it in Font class.

By this change, mutex lock is no longer necessary for all HarfBuzz
related function calls.

StaticLayout creation time (w/o -> w/ patch, N=10, walleye-userdebug):
MeasuredText Balanced Hyphenation : 712,896 -> 705,864: (-1.0%)
MeasuredText Balanced NoHyphenation: 548,745 -> 535,891: (-2.3%)
MeasuredText Greedy Hyphenation : 486,093 -> 479,541: (-1.3%)
MeasuredText Greedy NoHyphenation : 491,053 -> 480,571: (-2.1%)
RandomText Balanced Hyphenation : 17,749,025 -> 17,426,362: (-1.8%)
RandomText Balanced NoHyphenation : 7,433,576 -> 7,401,203: (-0.4%)
RandomText Greedy Hyphenation : 7,388,658 -> 7,327,291: (-0.8%)
RandomText Greedy NoHyphenation : 7,375,390 -> 7,381,066: (+0.1%)

MeasuredText creation time (w/o -> w/ patch, N=10, walleye-userdebug)
Styled Hyphenation : 14,364,510 -> 14,430,830: (+0.5%)
Styled Hyphenation WidthOnly : 13,629,489 -> 13,446,345: (-1.3%)
Styled NoHyphenation : 14,104,669 -> 13,873,049: (-1.6%)
Styled NoHyphenation WidthOnly : 13,304,362 -> 13,091,473: (-1.6%)
NoStyled Hyphenation : 17,512,424 -> 17,368,559: (-0.8%)
NoStyled Hyphenation WidthOnly : 17,095,872 -> 16,985,377: (-0.6%)
NoStyled NoHyphenation : 7,371,994 -> 7,344,223: (-0.4%)
NoStyled NoHyphenation WidthOnly : 6,932,519 -> 6,950,149: (+0.3%)

StaticLayout draw time (w/o -> w/ patch, N=10, walleye-userdebug)
MeasuredText NoStyled : 661,017 -> 657,547: (-0.5%)
MeasuredText NoStyled WithoutCache : 660,506 -> 651,035: (-1.4%)
MeasuredText Styled : 868,116 -> 854,418: (-1.6%)
MeasuredText Styled WithoutCache : 916,078 -> 880,388: (-3.9%)
RandomText NoStyled : 561,192 -> 547,528: (-2.4%)
RandomText NoStyled WithoutCache : 6,758,025 -> 6,695,065: (-0.9%)
RandomText Styled : 2,886,462 -> 2,843,580: (-1.5%)
RandomText Styled WithoutCache : 3,319,513 -> 3,276,261: (-1.3%)

Bug: 37567215
Test: minikin_tests
Test: hwui_unit_tests
Test: atest CtsTextTestCases \
CtsWidgetTestCases:EditTextTest \
CtsWidgetTestCases:TextViewFadingEdgeTest \
FrameworksCoreTests:TextViewFallbackLineSpacingTest \
FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest \
CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest
Test: bit FrameworksCoreTests:android.text.

Change-Id: If86840fcf957ca16e3a821204b79156fc23f1596
/frameworks/minikin/libs/minikin/Android.bp
366f57fb4efd0ddf5d48cd232cd88d3777517ea2 09-Jan-2018 Seigo Nonaka <nona@google.com> Reorganize optimal line breaker

This CL contains:
- Rename LineBreakImpl.{h|cpp} with OptimalLineBreaker.{h|cpp}
- Extract line break candidate enumeration code from LineBreakerImpl
and rename LineBreakImpl with LineBreakOptimizer.
- Fix unexpected hyphenation by ordering hyphenation break point and
desperate break points.
- Refactor line break candidate enumeration code.

Compatibility:
To check the compatibility from current implementation, manually
compared the line break result for the UDHR text (http://unicode.org/udhr/).
Then verified new implementation completely replicate the same output as the
current implementation except for desperate breaks.

Here is the combination verified:
Langauge: ar, zh-CN, zh-TW, nl, fr, de, it, ja, ko, po, pl-PL, pl-BR,
ru, es-ES, th, tr, bg, ca, hr, cs, da, el, he, hi, hu, id,
lv, lt, no, ro, sr-Cyrl, sr-Latn, sk, sl, sv, uk, vi
Font Size: 14px, 15px, 16px, 17px, 18px, 19px
Line Width: 128px, 256px, 512px, 1024px

Performance:
Verified this doesn't cause performance regression.
Here is raw performance score.

StaticLayoutPerfTest(walleye-userdebug, w/o patch -> w/ patch, N=50):
Random Text, No Hyphen : 7,782,872 -> 7,754,140 (-0.37%)
Random Text, Hyphen : 19,028,618 -> 18,942,728 (-0.45%)
measured Text, No Hyphen : 346,625 -> 349,809 (+0.92%)
measured Text, Hyphen : 11,411,894 -> 11,379,360 (-0.29%)

Bug: 71709070
Bug: 65024629
Test: minikin_tests
Test: bit CtsTextTestCases:*
Test: bit FrameworksCoreTests:android.text.StaticLayoutTest
Change-Id: I1933335764405da6d7c82cf1d1af1692e6d10a04
/frameworks/minikin/libs/minikin/Android.bp
d57562ceb31842c7bcdb28c084c863631a844acd 08-Dec-2017 Seigo Nonaka <nona@google.com> Implement new line breaker for greedy algorithm

The new greedy line breaker is 2x faster than current line breaker.

Current greedy line breaker does lots of unnecessary things.
- Hyphenation is not necessary until the word is too long for the line.
- Cost calculation and optimization for the cost is not necessary. Only
if the break point is inside email or url. This can be done in O(1).

The new line breaker is fully compatible with older line breaker except
for
- Overhang calculation is dropped since it is implemented partially but
not consistent with other line break strategy. Also it is not exposed
as Java API.
- The priority of desperate line breaking and hyphenation is not consistent
and current master implementation is broken. Sometimes the line
breaker exceeds the line width. The new line breaker has explicit
priority for the hyphenation and keep the line width under the limit.
(See Issue 70415793)

Compatibility:
To check the compatibility from current implementation, manually
compared the line break result for the UDHR text (http://unicode.org/udhr/).
Then verified new implementation completely replicate the same output as the
current implementaiton.

Here is the combination verified:
Langauge: ar, zh-CN, zh-TW, nl, fr, de, it, ja, ko, po, pl-PL, pl-BR,
ru, es-ES, th, tr, bg, ca, hr, cs, da, el, he, hi, hu, id,
lv, lt, no, ro, sr-Cyrl, sr-Latn, sk, sl, sv, uk, vi
Font Size: 14px, 15px, 16px, 17px, 18px, 19px
Line Width: 128px, 256px, 512px, 1024px

Performance:
Here is the performance score:
(All greedy algorithm, w/o patch -> w/ patch, median, N=100)

Random, No Style, Hyphenation OFF: 7,854,007 -> 7,780,766 (-0.93%)
Random, No Style, Hyphenation ON : 19,274,298 -> 7,762,346 (-60.0%)

Measured, No Style, Hyphenation OFF: 516,039 -> 424,173 (-18.0%)
Measured, No Style, Hyphenation ON : 11,772,800 -> 482,506 (-96.0%)

I'll remove old greedy line breaker once this is submitted.

Test: CtsTextTestCases:*
Test: CtsGraphicsTestCases:*
Test: CtsWidgetTestCases:*
Test: minikin_test
Bug: 70415793
Bug: 65024629
Bug: 64389125
Change-Id: Iaff9afed4bb6eebecb010e468546239f10852903
/frameworks/minikin/libs/minikin/Android.bp
0948fbb63636111c193365e01dbe952defd700f3 07-Dec-2017 Seigo Nonaka <nona@google.com> Move LineBreaker class definition to private

This is preparation of LineBreaker refactoring.

Bug: 65024629
Test: minikin_tests
Change-Id: Idba5b4678687c39ca6566c9f343f977a8b2edb0b
/frameworks/minikin/libs/minikin/Android.bp
26ef1697ea9f110d58f99eb64118f15ae9c6f785 02-Dec-2017 Seigo Nonaka <nona@google.com> Move MeasuredText to its own file and store runs in it.

This lays the ground work for precomputed layout.

This also changes the MeasuredText in LineBreaker from
member variables to method argument.

Bug: 67504091
Test: minikin_tests

Change-Id: Ia5797aa918dd050feb96bcde30a1eb8112708113
/frameworks/minikin/libs/minikin/Android.bp
1d461589869ee5b7102f96271b0ef0a776ab513c 20-Oct-2017 Seigo Nonaka <nona@google.com> Style cleanup.

This CL contains following cleanups:
- Rename the following classes and corresponding file names:
FontLanguage -> Locale
FontLanguages -> LocaleList
FontLanguageListCache -> LocaleListCache
- Remove unnecessary #include lines.
- Define the Minikin's header include ordering and follow that style.
See doc/minikin_style.md for details.
- Always use std::string and std::vector instead of string and vector
with using-declaration.
- Replace LOG_ALWAYS_FATAL_IF with MINIKIN_ASSERT so that the assertion
is removed on build configuration for user.

This CL does not change any behavior.

Bug: 65024629
Test: make checkbuild
Change-Id: If41bb3c3389303053bbe95e349eb2dd4b619257c
/frameworks/minikin/libs/minikin/Android.bp
4d7b6120a8886792da080a9bfb0dc6bc81816890 13-Oct-2017 Chih-Hung Hsieh <chh@google.com> Use -Werror in frameworks/minikin am: 0815c28680 am: c995aba0d1 am: 30d00e93c9
am: 7e7bf51100

Change-Id: Iafd489aff01c8fb4b59f52e751a37b05720f1831
7e7bf51100d878baf15b1c26e6dadd9fec9bf993 13-Oct-2017 Chih-Hung Hsieh <chh@google.com> Use -Werror in frameworks/minikin am: 0815c28680 am: c995aba0d1
am: 30d00e93c9

Change-Id: I952ea02844084a638c94b76494cdc4f4be247d17
8fbcbda6f9a2ee254ad8d22a5fe025e094fd6ff0 04-Oct-2017 Seigo Nonaka <nona@google.com> Introduce HyphenatorMap for managing hyphenator in Minikin

The motivation of this map is porting Hyphenator.java to Minikin.
Since our locale is fully expanded by ICU, we need to search with
dropping some components from locale. See the comments in
HyphenatorMap::lookup for more details.

This CL only introduces HyphenatorMap. Nobody uses this class at this
moment. Hyphenator.java will be replaced with this class in subsequent
CLs.

Bug: 65024629
Test: minikin_tests

Change-Id: Ib6ff6101a011a9d1099b9d4e371fab0542c161a0
/frameworks/minikin/libs/minikin/Android.bp
0815c286809d38279dde847e24a903285a717deb 29-Sep-2017 Chih-Hung Hsieh <chh@google.com> Use -Werror in frameworks/minikin

* Move -Wall and -Werror from cppflags to cflags.

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: Ia3eec51a68dbd0443f681002bedfcbd584397a9d
/frameworks/minikin/libs/minikin/Android.bp
11b2d1fdc21f469518937c6c024521e870c415d6 03-Oct-2017 Seigo Nonaka <nona@google.com> Fix performance regression by inlining SplitIterator.

Here is a performance score:

measureTextPerf test results (w/o fix -> w/ fix)
alphabet_cached: 3660 -> 3693
alphabet_not_cached: 601404 -> 507314
ideograph_cached: 3608 -> 3884
ideograph_not_cached: 545033 -> 538135
surrogate_pairs_cached: 3630 -> 3628
surrogate_pairs_not_cached: 512438 -> 504201
emoji_cached: 3712 -> 3597
emoji_not_cached: 178318 -> 165344
emoji_surrogate_pairs_cached: 3633 -> 3621
emoji_surrogate_pairs_not_cached: 186771 -> 162727

Bug: 67326978
Test: Did following steps:
1. Applied patch and built full userdebug image.
2. Waited until boot completion by watching logcat.
3. Installed test apk.
4. Locked down the CPU frequency.
5. Executed the tests by:
adb shell am instrument -w -e class \
android.graphics.perftests.PaintMeasureTextTest \
com.android.perftests.core/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ied280c1fa7675d1e930b569fceeed0489c1f2113
/frameworks/minikin/libs/minikin/Android.bp
676f8390ed8fa260f2f9685820b8d3dfbd08e8d3 26-Sep-2017 Seigo Nonaka <nona@google.com> Extend FontLangauge to be able to hold German variants.

This CL also refactors FontLangauge parse code to use StringPiece.

Here is a CPU time performance differences on marlin-userdebug:
BM_FontLanguage_en_US: 98ns -> 99ns
BM_FontLanguage_en_Latn_US: 145ns -> 124ns
BM_FontLanguage_en_Latn_US_u_em_emoji: 151ns -> 186ns

Bug: 65024629
Test: minikin_tests
Change-Id: I57ce277ccb76ac237d3ff158a64183fd20d5a3a8
/frameworks/minikin/libs/minikin/Android.bp
728f42cbd5acd0fa8d8dbe07d0302d41475eb95c 16-Jun-2017 Roozbeh Pournader <roozbeh@google.com> Support locale lists in LineBreaker

For now, only the first locale is looked at.

Bug: 21571721
Bug: 25122192
Test: adb shell /data/nativetest/minikin_tests/minikin_tests
Change-Id: I46f9220b74a0a7b572fec021897b6ea65b9199a2
/frameworks/minikin/libs/minikin/Android.bp
a6b1d2419af8e575fdf6353fbe73d549127d3d25 07-Jun-2017 Colin Cross <ccross@android.com> Only sanitize device library am: ec682a375d am: e047ff0e96
am: 4d411f1ae9

Change-Id: I2fda3ba8b1c66411457e62254639eddd8238020c
ec682a375dc8f39cd7c7dc91d65aec09d0ef4edb 07-Jun-2017 Colin Cross <ccross@android.com> Only sanitize device library

Integer sanitization was accidentally turned on for the host library
during soong conversion.

Bug: 34719251
Test: m -j hyphtool
Change-Id: Ifd3acaf0cc021a4cfb6d6efc2ff375e5cf38646e
/frameworks/minikin/libs/minikin/Android.bp
e6ac0e7c3cab43a77d3030a68476aac202e5320a 25-Apr-2017 Colin Cross <ccross@android.com> Convert frameworks/minikin/tests to Android.bp

See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: I930debdd129da7f61ac4b764980f73dfd487785d
Merged-In: I930debdd129da7f61ac4b764980f73dfd487785d
(cherry picked from commit 2bfc56ad2fcd0f65551a9c2ed8a9c2350f2e0cd1)
/frameworks/minikin/libs/minikin/Android.bp
84bd31a7020cf137a123731649996116e498a1cd 25-Apr-2017 Colin Cross <ccross@android.com> Convert frameworks/minikin/tests to Android.bp

See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: I930debdd129da7f61ac4b764980f73dfd487785d
Merged-In: I930debdd129da7f61ac4b764980f73dfd487785d
(cherry picked from commit 2bfc56ad2fcd0f65551a9c2ed8a9c2350f2e0cd1)
/frameworks/minikin/libs/minikin/Android.bp
1e31920c7dbc8c4fa37e6cbf5f2360ebd3341e61 03-May-2017 Colin Cross <ccross@android.com> Export libicuuc headers from libminikin am: 4cab55f535 am: ddd4ea4639
am: ae2d121878

Change-Id: Ied63cff24c4aaf0a2e99f8d55704350855ae6720
4cab55f53581c3ecc2b080d5ce7f495458433a74 03-May-2017 Colin Cross <ccross@android.com> Export libicuuc headers from libminikin

Test: m -j checkbuild
Change-Id: Ibecebc8a1bd4028c083424476dd379c0ce0149a1
/frameworks/minikin/libs/minikin/Android.bp
6491d60fbb9a9395ad84b6669cd88482843f7ec8 03-Dec-2016 Colin Cross <ccross@android.com> Convert frameworks/minikin to Android.bp

See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: I71d3406054b35dd4e8ae30f46eec6cef77eef160
(cherry picked from commit f938933830a43aa6d99b9c7c0610f541e636d0d9)
/frameworks/minikin/libs/minikin/Android.bp
415ff26d87654b119b3733bd8af2b0850f2f5051 03-Dec-2016 Colin Cross <ccross@android.com> Convert frameworks/minikin to Android.bp

See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: I71d3406054b35dd4e8ae30f46eec6cef77eef160
Merged-In: I71d3406054b35dd4e8ae30f46eec6cef77eef160
/frameworks/minikin/libs/minikin/Android.bp