Use FontFamily/FontCollection::create() in hwui.
Minikin will hide FontFamily/FontCollection constructors.
This CL updates hwui to use create() instead.
Bug: 174672300
Test: m -j
Change-Id: Ie910b0d7608df681443f862aa67d402809c38514
diff --git a/libs/hwui/hwui/Typeface.cpp b/libs/hwui/hwui/Typeface.cpp
index 5a9d250..9a4bda2 100644
--- a/libs/hwui/hwui/Typeface.cpp
+++ b/libs/hwui/hwui/Typeface.cpp
@@ -127,7 +127,7 @@
Typeface* Typeface::createFromFamilies(std::vector<std::shared_ptr<minikin::FontFamily>>&& families,
int weight, int italic) {
Typeface* result = new Typeface;
- result->fFontCollection.reset(new minikin::FontCollection(families));
+ result->fFontCollection = minikin::FontCollection::create(families);
if (weight == RESOLVE_BY_FONT_TABLE || italic == RESOLVE_BY_FONT_TABLE) {
int weightFromFont;
@@ -191,8 +191,8 @@
std::vector<std::shared_ptr<minikin::Font>> fonts;
fonts.push_back(minikin::Font::Builder(font).build());
- std::shared_ptr<minikin::FontCollection> collection = std::make_shared<minikin::FontCollection>(
- std::make_shared<minikin::FontFamily>(std::move(fonts)));
+ std::shared_ptr<minikin::FontCollection> collection =
+ minikin::FontCollection::create(minikin::FontFamily::create(std::move(fonts)));
Typeface* hwTypeface = new Typeface();
hwTypeface->fFontCollection = collection;
diff --git a/libs/hwui/jni/FontFamily.cpp b/libs/hwui/jni/FontFamily.cpp
index acc1b04..c146ada 100644
--- a/libs/hwui/jni/FontFamily.cpp
+++ b/libs/hwui/jni/FontFamily.cpp
@@ -85,9 +85,9 @@
if (builder->fonts.empty()) {
return 0;
}
- std::shared_ptr<minikin::FontFamily> family = std::make_shared<minikin::FontFamily>(
- builder->langId, builder->variant, std::move(builder->fonts),
- true /* isCustomFallback */);
+ std::shared_ptr<minikin::FontFamily> family =
+ minikin::FontFamily::create(builder->langId, builder->variant,
+ std::move(builder->fonts), true /* isCustomFallback */);
if (family->getCoverage().length() == 0) {
return 0;
}
diff --git a/libs/hwui/jni/fonts/FontFamily.cpp b/libs/hwui/jni/fonts/FontFamily.cpp
index b682135..fbfc07e 100644
--- a/libs/hwui/jni/fonts/FontFamily.cpp
+++ b/libs/hwui/jni/fonts/FontFamily.cpp
@@ -66,9 +66,9 @@
ScopedUtfChars str(env, langTags);
localeId = minikin::registerLocaleList(str.c_str());
}
- std::shared_ptr<minikin::FontFamily> family = std::make_shared<minikin::FontFamily>(
- localeId, static_cast<minikin::FamilyVariant>(variant), std::move(builder->fonts),
- isCustomFallback);
+ std::shared_ptr<minikin::FontFamily> family =
+ minikin::FontFamily::create(localeId, static_cast<minikin::FamilyVariant>(variant),
+ std::move(builder->fonts), isCustomFallback);
if (family->getCoverage().length() == 0) {
// No coverage means minikin rejected given font for some reasons.
jniThrowException(env, "java/lang/IllegalArgumentException",
diff --git a/libs/hwui/tests/unit/TypefaceTests.cpp b/libs/hwui/tests/unit/TypefaceTests.cpp
index 9295a93..25cc8ca 100644
--- a/libs/hwui/tests/unit/TypefaceTests.cpp
+++ b/libs/hwui/tests/unit/TypefaceTests.cpp
@@ -64,7 +64,7 @@
std::vector<minikin::FontVariation>());
std::vector<std::shared_ptr<minikin::Font>> fonts;
fonts.push_back(minikin::Font::Builder(font).build());
- return std::make_shared<minikin::FontFamily>(std::move(fonts));
+ return minikin::FontFamily::create(std::move(fonts));
}
std::vector<std::shared_ptr<minikin::FontFamily>> makeSingleFamlyVector(const char* fileName) {