Merge "Add FontFamily.Builder instead of constructor" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-03-11 21:16:17 +00:00
committed by Android (Google) Code Review
2 changed files with 46 additions and 7 deletions

View File

@@ -2883,11 +2883,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();

View File

@@ -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;
}