diff options
| author | 2021-03-10 12:37:41 -0800 | |
|---|---|---|
| committer | 2021-03-10 12:37:41 -0800 | |
| commit | d5287e60fbc09d3d0623d839f04da291d02b2de9 (patch) | |
| tree | 77328aa1ae051cf4a8f41e8764286588a73a40b9 | |
| parent | 5b7186166d41ebb1e28121f1c6e3344edd65289b (diff) | |
Add FontFamily.Builder instead of constructor
Bug: 181124737
Test: atest FontFamilyUpdateRequestTest
Change-Id: I6fd9b7cb40e6f4d168f95953cb488b2c43d6abef
| -rw-r--r-- | core/api/system-current.txt | 7 | ||||
| -rw-r--r-- | core/java/android/graphics/fonts/FontFamilyUpdateRequest.java | 46 |
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; } |