From e5f73f1c18460681319471cb083ad5908eba896a Mon Sep 17 00:00:00 2001 From: Seigo Nonaka Date: Mon, 19 Nov 2018 09:37:59 -0800 Subject: [PATCH] Add new API for returning max custom fallback families Bug: 119620208 Test: TypefaceCustomFallbackBuilderTest Change-Id: I7ef69bdebdce7d5dc4cbea2d30965c93197e965f --- api/current.txt | 1 + graphics/java/android/graphics/Typeface.java | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/api/current.txt b/api/current.txt index ea6f190ca44c3..8788849bec8f7 100755 --- a/api/current.txt +++ b/api/current.txt @@ -14797,6 +14797,7 @@ package android.graphics { ctor public Typeface.CustomFallbackBuilder(android.graphics.fonts.FontFamily); method public android.graphics.Typeface.CustomFallbackBuilder addCustomFallback(android.graphics.fonts.FontFamily); method public android.graphics.Typeface build(); + method public static int getMaxCustomFallbackCount(); method public android.graphics.Typeface.CustomFallbackBuilder setStyle(android.graphics.fonts.FontStyle); method public android.graphics.Typeface.CustomFallbackBuilder setSystemFallback(java.lang.String); } diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java index bf969ef15c5b8..acb46b39daf5e 100644 --- a/graphics/java/android/graphics/Typeface.java +++ b/graphics/java/android/graphics/Typeface.java @@ -651,6 +651,17 @@ public class Typeface { private String mFallbackName = null; private @Nullable FontStyle mStyle; + /** + * Returns the maximum capacity of custom fallback families. + * + * This includes the the first font family passed to the constructor. + * + * @return the maximum number of font families for the custom fallback + */ + public static @IntRange(from = 1) int getMaxCustomFallbackCount() { + return MAX_CUSTOM_FALLBACK; + } + /** * Constructs a builder with a font family. * @@ -706,8 +717,8 @@ public class Typeface { */ public CustomFallbackBuilder addCustomFallback(@NonNull FontFamily family) { Preconditions.checkNotNull(family); - Preconditions.checkArgument(mFamilies.size() < MAX_CUSTOM_FALLBACK, - "Custom fallback limit exceeded(" + MAX_CUSTOM_FALLBACK + ")"); + Preconditions.checkArgument(mFamilies.size() < getMaxCustomFallbackCount(), + "Custom fallback limit exceeded(" + getMaxCustomFallbackCount() + ")"); mFamilies.add(family); return this; }