summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/system-current.txt7
-rw-r--r--core/java/android/graphics/fonts/FontFamilyUpdateRequest.java46
2 files changed, 46 insertions, 7 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 5ca4d35d4c22..6f7a4d061248 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -2881,11 +2881,16 @@ package android.graphics.fonts {
}
public static final class FontFamilyUpdateRequest.FontFamily {
- ctor public FontFamilyUpdateRequest.FontFamily(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
method @NonNull public String getName();
}
+ public static final class FontFamilyUpdateRequest.FontFamily.Builder {
+ ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
+ method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
+ method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
+ }
+
public final class FontFileUpdateRequest {
ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
diff --git a/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java b/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java
index 25758e9d9a61..8c7695ad5a5a 100644
--- a/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java
+++ b/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java
@@ -72,6 +72,45 @@ public final class FontFamilyUpdateRequest {
* A font family definition.
*/
public static final class FontFamily {
+
+ /**
+ * Builds a {@link FontFamily}.
+ */
+ public static final class Builder {
+ @NonNull private final String mName;
+ @NonNull private final List<Font> mFonts;
+
+ /**
+ * Constructs a {@link FontFamily.Builder}.
+ */
+ public Builder(@NonNull String name, @NonNull List<Font> fonts) {
+ Objects.requireNonNull(name);
+ Preconditions.checkStringNotEmpty(name);
+ Objects.requireNonNull(fonts);
+ Preconditions.checkCollectionElementsNotNull(fonts, "fonts");
+ Preconditions.checkCollectionNotEmpty(fonts, "fonts");
+ mName = name;
+ mFonts = new ArrayList<>(fonts);
+ }
+
+ /**
+ * Adds a {@link Font} to the builder.
+ *
+ * @return This builder object.
+ */
+ public @NonNull Builder addFont(@NonNull Font font) {
+ mFonts.add(font);
+ return this;
+ }
+
+ /**
+ * Builds a {@link FontFamily}.
+ */
+ public @NonNull FontFamily build() {
+ return new FontFamily(mName, mFonts);
+ }
+ }
+
@NonNull
private final String mName;
@NonNull
@@ -90,12 +129,7 @@ public final class FontFamilyUpdateRequest {
* @see android.graphics.Typeface#create(String, int)
* @see Font
*/
- public FontFamily(@NonNull String name, @NonNull List<Font> fonts) {
- Objects.requireNonNull(name);
- Preconditions.checkStringNotEmpty(name);
- Objects.requireNonNull(fonts);
- Preconditions.checkCollectionElementsNotNull(fonts, "fonts");
- Preconditions.checkCollectionNotEmpty(fonts, "fonts");
+ private FontFamily(@NonNull String name, @NonNull List<Font> fonts) {
mName = name;
mFonts = fonts;
}