summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java14
-rw-r--r--graphics/java/android/graphics/Typeface.java4
2 files changed, 16 insertions, 2 deletions
diff --git a/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java b/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java
index d6e8ab2516a8..884745699789 100644
--- a/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java
+++ b/apct-tests/perftests/core/src/android/graphics/perftests/TypefaceCreatePerfTest.java
@@ -18,6 +18,7 @@ package android.graphics.perftests;
import android.content.Context;
import android.content.res.AssetManager;
+import android.content.res.Resources;
import android.graphics.Typeface;
import android.perftests.utils.BenchmarkState;
import android.perftests.utils.PerfStatusReporter;
@@ -26,6 +27,8 @@ import androidx.test.InstrumentationRegistry;
import androidx.test.filters.LargeTest;
import androidx.test.runner.AndroidJUnit4;
+import com.android.perftests.core.R;
+
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -104,4 +107,15 @@ public class TypefaceCreatePerfTest {
outFile.delete();
}
+
+ @Test
+ public void testCreate_fromResources() {
+ BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
+ final Resources r = InstrumentationRegistry.getContext().getResources();
+
+ while (state.keepRunning()) {
+ Typeface face = r.getFont(R.font.samplefont);
+ }
+ }
+
}
diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java
index c8b361bbff2f..6d20ec32cdc4 100644
--- a/graphics/java/android/graphics/Typeface.java
+++ b/graphics/java/android/graphics/Typeface.java
@@ -596,8 +596,8 @@ public class Typeface {
final Font font = mFontBuilder.build();
final String key = mAssetManager == null ? null : createAssetUid(
mAssetManager, mPath, font.getTtcIndex(), font.getAxes(),
- font.getStyle().getWeight(), font.getStyle().getSlant(),
- mFallbackFamilyName);
+ mWeight, mItalic,
+ mFallbackFamilyName == null ? DEFAULT_FAMILY : mFallbackFamilyName);
if (key != null) {
// Dynamic cache lookup is only for assets.
synchronized (sDynamicCacheLock) {