Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff551151 authored by Seigo Nonaka's avatar Seigo Nonaka
Browse files

Reorganize font enumeration API.

This CL cleans up APIs around font variation settings.
- Remove FontConfig and FontManager public API.
- Remove FontManagerService from system service.
- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.
  This is used by Typeface.Builder public API to create new Typeface.
- Introduce and expose FontVariationAxis utility functions from/to string.
- Throws if the invalid font variation settings is passed.

Test: android.text.cts.FontVariationAxisTest passes
Test: android.graphics.cts.TypefaceTest passes
Test: android.graphics.cts.PaintTest passes
Change-Id: I9ccafe7a53935960566243e2856e166878ca59ae
parent be436bde
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -366,7 +366,6 @@ LOCAL_SRC_FILES += \
	core/java/com/android/internal/appwidget/IAppWidgetHost.aidl \
	core/java/com/android/internal/backup/IBackupTransport.aidl \
	core/java/com/android/internal/backup/IObbBackupService.aidl \
	core/java/com/android/internal/font/IFontManager.aidl \
	core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl \
	core/java/com/android/internal/policy/IKeyguardDrawnCallback.aidl \
	core/java/com/android/internal/policy/IKeyguardDismissCallback.aidl \
+19 −64
Original line number Diff line number Diff line
@@ -8883,7 +8883,6 @@ package android.content {
    field public static final java.lang.String DOWNLOAD_SERVICE = "download";
    field public static final java.lang.String DROPBOX_SERVICE = "dropbox";
    field public static final java.lang.String FINGERPRINT_SERVICE = "fingerprint";
    field public static final java.lang.String FONT_SERVICE = "font";
    field public static final java.lang.String HARDWARE_PROPERTIES_SERVICE = "hardware_properties";
    field public static final java.lang.String INPUT_METHOD_SERVICE = "input_method";
    field public static final java.lang.String INPUT_SERVICE = "input";
@@ -13232,7 +13231,7 @@ package android.graphics {
    method public void setFilterBitmap(boolean);
    method public void setFlags(int);
    method public void setFontFeatureSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public void setHinting(int);
    method public void setLetterSpacing(float);
    method public void setLinearText(boolean);
@@ -13766,8 +13765,8 @@ package android.graphics {
    method public static android.graphics.Typeface.Builder obtain();
    method public void recycle();
    method public void reset();
    method public android.graphics.Typeface.Builder setFontVariationSettings(java.lang.String);
    method public android.graphics.Typeface.Builder setFontVariationSettings(android.text.FontConfig.Axis[]);
    method public android.graphics.Typeface.Builder setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public android.graphics.Typeface.Builder setFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
    method public android.graphics.Typeface.Builder setItalic(int);
    method public android.graphics.Typeface.Builder setSourceFromAsset(android.content.res.AssetManager, java.lang.String);
    method public android.graphics.Typeface.Builder setSourceFromFile(java.io.File);
@@ -14377,6 +14376,21 @@ package android.graphics.fonts {
    field public static final android.os.Parcelable.Creator<android.graphics.fonts.FontRequest> CREATOR;
  }
  public final class FontVariationAxis implements android.os.Parcelable {
    ctor public FontVariationAxis(java.lang.String, float) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public int describeContents();
    method public static android.graphics.fonts.FontVariationAxis[] fromFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public float getStyleValue();
    method public java.lang.String getTag();
    method public static java.lang.String toFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.graphics.fonts.FontVariationAxis> CREATOR;
  }
  public static class FontVariationAxis.InvalidFormatException extends java.lang.Exception {
    ctor public FontVariationAxis.InvalidFormatException(java.lang.String);
  }
}
package android.graphics.pdf {
@@ -41037,65 +41051,6 @@ package android.text {
    method public android.text.Editable newEditable(java.lang.CharSequence);
  }
  public final class FontConfig implements android.os.Parcelable {
    ctor public FontConfig(android.text.FontConfig.Family[], android.text.FontConfig.Alias[]);
    method public int describeContents();
    method public android.text.FontConfig.Alias[] getAliases();
    method public android.text.FontConfig.Family[] getFamilies();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
  }
  public static final class FontConfig.Alias implements android.os.Parcelable {
    ctor public FontConfig.Alias(java.lang.String, java.lang.String, int);
    method public int describeContents();
    method public java.lang.String getName();
    method public java.lang.String getToName();
    method public int getWeight();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
  }
  public static final class FontConfig.Axis implements android.os.Parcelable {
    ctor public FontConfig.Axis(int, float);
    ctor public FontConfig.Axis(java.lang.String, float);
    method public int describeContents();
    method public float getStyleValue();
    method public int getTag();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Axis> CREATOR;
  }
  public static final class FontConfig.Family implements android.os.Parcelable {
    ctor public FontConfig.Family(java.lang.String, android.text.FontConfig.Font[], java.lang.String, int);
    method public int describeContents();
    method public android.text.FontConfig.Font[] getFonts();
    method public java.lang.String getLanguage();
    method public java.lang.String getName();
    method public int getVariant();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Family> CREATOR;
    field public static final int VARIANT_COMPACT = 1; // 0x1
    field public static final int VARIANT_DEFAULT = 0; // 0x0
    field public static final int VARIANT_ELEGANT = 2; // 0x2
  }
  public static final class FontConfig.Font implements android.os.Parcelable {
    method public int describeContents();
    method public android.text.FontConfig.Axis[] getAxes();
    method public java.lang.String getFontName();
    method public int getTtcIndex();
    method public android.net.Uri getUri();
    method public int getWeight();
    method public boolean isItalic();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
  }
  public final class FontManager {
    method public android.text.FontConfig getSystemFonts();
  }
  public abstract interface GetChars implements java.lang.CharSequence {
    method public abstract void getChars(int, int, char[], int);
  }
@@ -51349,7 +51304,7 @@ package android.widget {
    method public void setExtractedText(android.view.inputmethod.ExtractedText);
    method public void setFilters(android.text.InputFilter[]);
    method public void setFontFeatureSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method protected boolean setFrame(int, int, int, int);
    method public void setFreezesText(boolean);
    method public void setGravity(int);
+19 −64
Original line number Diff line number Diff line
@@ -9380,7 +9380,6 @@ package android.content {
    field public static final java.lang.String DOWNLOAD_SERVICE = "download";
    field public static final java.lang.String DROPBOX_SERVICE = "dropbox";
    field public static final java.lang.String FINGERPRINT_SERVICE = "fingerprint";
    field public static final java.lang.String FONT_SERVICE = "font";
    field public static final java.lang.String HARDWARE_PROPERTIES_SERVICE = "hardware_properties";
    field public static final java.lang.String HDMI_CONTROL_SERVICE = "hdmi_control";
    field public static final java.lang.String INPUT_METHOD_SERVICE = "input_method";
@@ -13964,7 +13963,7 @@ package android.graphics {
    method public void setFilterBitmap(boolean);
    method public void setFlags(int);
    method public void setFontFeatureSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public void setHinting(int);
    method public void setLetterSpacing(float);
    method public void setLinearText(boolean);
@@ -14498,8 +14497,8 @@ package android.graphics {
    method public static android.graphics.Typeface.Builder obtain();
    method public void recycle();
    method public void reset();
    method public android.graphics.Typeface.Builder setFontVariationSettings(java.lang.String);
    method public android.graphics.Typeface.Builder setFontVariationSettings(android.text.FontConfig.Axis[]);
    method public android.graphics.Typeface.Builder setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public android.graphics.Typeface.Builder setFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
    method public android.graphics.Typeface.Builder setItalic(int);
    method public android.graphics.Typeface.Builder setSourceFromAsset(android.content.res.AssetManager, java.lang.String);
    method public android.graphics.Typeface.Builder setSourceFromFile(java.io.File);
@@ -15109,6 +15108,21 @@ package android.graphics.fonts {
    field public static final android.os.Parcelable.Creator<android.graphics.fonts.FontRequest> CREATOR;
  }
  public final class FontVariationAxis implements android.os.Parcelable {
    ctor public FontVariationAxis(java.lang.String, float) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public int describeContents();
    method public static android.graphics.fonts.FontVariationAxis[] fromFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public float getStyleValue();
    method public java.lang.String getTag();
    method public static java.lang.String toFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.graphics.fonts.FontVariationAxis> CREATOR;
  }
  public static class FontVariationAxis.InvalidFormatException extends java.lang.Exception {
    ctor public FontVariationAxis.InvalidFormatException(java.lang.String);
  }
}
package android.graphics.pdf {
@@ -44495,65 +44509,6 @@ package android.text {
    method public android.text.Editable newEditable(java.lang.CharSequence);
  }
  public final class FontConfig implements android.os.Parcelable {
    ctor public FontConfig(android.text.FontConfig.Family[], android.text.FontConfig.Alias[]);
    method public int describeContents();
    method public android.text.FontConfig.Alias[] getAliases();
    method public android.text.FontConfig.Family[] getFamilies();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
  }
  public static final class FontConfig.Alias implements android.os.Parcelable {
    ctor public FontConfig.Alias(java.lang.String, java.lang.String, int);
    method public int describeContents();
    method public java.lang.String getName();
    method public java.lang.String getToName();
    method public int getWeight();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
  }
  public static final class FontConfig.Axis implements android.os.Parcelable {
    ctor public FontConfig.Axis(int, float);
    ctor public FontConfig.Axis(java.lang.String, float);
    method public int describeContents();
    method public float getStyleValue();
    method public int getTag();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Axis> CREATOR;
  }
  public static final class FontConfig.Family implements android.os.Parcelable {
    ctor public FontConfig.Family(java.lang.String, android.text.FontConfig.Font[], java.lang.String, int);
    method public int describeContents();
    method public android.text.FontConfig.Font[] getFonts();
    method public java.lang.String getLanguage();
    method public java.lang.String getName();
    method public int getVariant();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Family> CREATOR;
    field public static final int VARIANT_COMPACT = 1; // 0x1
    field public static final int VARIANT_DEFAULT = 0; // 0x0
    field public static final int VARIANT_ELEGANT = 2; // 0x2
  }
  public static final class FontConfig.Font implements android.os.Parcelable {
    method public int describeContents();
    method public android.text.FontConfig.Axis[] getAxes();
    method public java.lang.String getFontName();
    method public int getTtcIndex();
    method public android.net.Uri getUri();
    method public int getWeight();
    method public boolean isItalic();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
  }
  public final class FontManager {
    method public android.text.FontConfig getSystemFonts();
  }
  public abstract interface GetChars implements java.lang.CharSequence {
    method public abstract void getChars(int, int, char[], int);
  }
@@ -55175,7 +55130,7 @@ package android.widget {
    method public void setExtractedText(android.view.inputmethod.ExtractedText);
    method public void setFilters(android.text.InputFilter[]);
    method public void setFontFeatureSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method protected boolean setFrame(int, int, int, int);
    method public void setFreezesText(boolean);
    method public void setGravity(int);
+19 −64
Original line number Diff line number Diff line
@@ -8915,7 +8915,6 @@ package android.content {
    field public static final java.lang.String DOWNLOAD_SERVICE = "download";
    field public static final java.lang.String DROPBOX_SERVICE = "dropbox";
    field public static final java.lang.String FINGERPRINT_SERVICE = "fingerprint";
    field public static final java.lang.String FONT_SERVICE = "font";
    field public static final java.lang.String HARDWARE_PROPERTIES_SERVICE = "hardware_properties";
    field public static final java.lang.String INPUT_METHOD_SERVICE = "input_method";
    field public static final java.lang.String INPUT_SERVICE = "input";
@@ -13282,7 +13281,7 @@ package android.graphics {
    method public void setFilterBitmap(boolean);
    method public void setFlags(int);
    method public void setFontFeatureSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public void setHinting(int);
    method public void setLetterSpacing(float);
    method public void setLinearText(boolean);
@@ -13816,8 +13815,8 @@ package android.graphics {
    method public static android.graphics.Typeface.Builder obtain();
    method public void recycle();
    method public void reset();
    method public android.graphics.Typeface.Builder setFontVariationSettings(java.lang.String);
    method public android.graphics.Typeface.Builder setFontVariationSettings(android.text.FontConfig.Axis[]);
    method public android.graphics.Typeface.Builder setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public android.graphics.Typeface.Builder setFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
    method public android.graphics.Typeface.Builder setItalic(int);
    method public android.graphics.Typeface.Builder setSourceFromAsset(android.content.res.AssetManager, java.lang.String);
    method public android.graphics.Typeface.Builder setSourceFromFile(java.io.File);
@@ -14428,6 +14427,21 @@ package android.graphics.fonts {
    field public static final android.os.Parcelable.Creator<android.graphics.fonts.FontRequest> CREATOR;
  }
  public final class FontVariationAxis implements android.os.Parcelable {
    ctor public FontVariationAxis(java.lang.String, float) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public int describeContents();
    method public static android.graphics.fonts.FontVariationAxis[] fromFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method public float getStyleValue();
    method public java.lang.String getTag();
    method public static java.lang.String toFontVariationSettings(android.graphics.fonts.FontVariationAxis[]);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.graphics.fonts.FontVariationAxis> CREATOR;
  }
  public static class FontVariationAxis.InvalidFormatException extends java.lang.Exception {
    ctor public FontVariationAxis.InvalidFormatException(java.lang.String);
  }
}
package android.graphics.pdf {
@@ -41245,65 +41259,6 @@ package android.text {
    method public android.text.Editable newEditable(java.lang.CharSequence);
  }
  public final class FontConfig implements android.os.Parcelable {
    ctor public FontConfig(android.text.FontConfig.Family[], android.text.FontConfig.Alias[]);
    method public int describeContents();
    method public android.text.FontConfig.Alias[] getAliases();
    method public android.text.FontConfig.Family[] getFamilies();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
  }
  public static final class FontConfig.Alias implements android.os.Parcelable {
    ctor public FontConfig.Alias(java.lang.String, java.lang.String, int);
    method public int describeContents();
    method public java.lang.String getName();
    method public java.lang.String getToName();
    method public int getWeight();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
  }
  public static final class FontConfig.Axis implements android.os.Parcelable {
    ctor public FontConfig.Axis(int, float);
    ctor public FontConfig.Axis(java.lang.String, float);
    method public int describeContents();
    method public float getStyleValue();
    method public int getTag();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Axis> CREATOR;
  }
  public static final class FontConfig.Family implements android.os.Parcelable {
    ctor public FontConfig.Family(java.lang.String, android.text.FontConfig.Font[], java.lang.String, int);
    method public int describeContents();
    method public android.text.FontConfig.Font[] getFonts();
    method public java.lang.String getLanguage();
    method public java.lang.String getName();
    method public int getVariant();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Family> CREATOR;
    field public static final int VARIANT_COMPACT = 1; // 0x1
    field public static final int VARIANT_DEFAULT = 0; // 0x0
    field public static final int VARIANT_ELEGANT = 2; // 0x2
  }
  public static final class FontConfig.Font implements android.os.Parcelable {
    method public int describeContents();
    method public android.text.FontConfig.Axis[] getAxes();
    method public java.lang.String getFontName();
    method public int getTtcIndex();
    method public android.net.Uri getUri();
    method public int getWeight();
    method public boolean isItalic();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
  }
  public final class FontManager {
    method public android.text.FontConfig getSystemFonts();
  }
  public abstract interface GetChars implements java.lang.CharSequence {
    method public abstract void getChars(int, int, char[], int);
  }
@@ -51740,7 +51695,7 @@ package android.widget {
    method public void setExtractedText(android.view.inputmethod.ExtractedText);
    method public void setFilters(android.text.InputFilter[]);
    method public void setFontFeatureSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String);
    method public boolean setFontVariationSettings(java.lang.String) throws android.graphics.fonts.FontVariationAxis.InvalidFormatException;
    method protected boolean setFrame(int, int, int, int);
    method public void setFreezesText(boolean);
    method public void setGravity(int);
+0 −3
Original line number Diff line number Diff line
@@ -4061,7 +4061,6 @@ android.text.FontConfig$Family
android.text.FontConfig$Family$1
android.text.FontConfig$Font
android.text.FontConfig$Font$1
android.text.FontManager
android.text.GetChars
android.text.GraphicsOperations
android.text.Html
@@ -5501,8 +5500,6 @@ com.android.internal.content.PackageHelper
com.android.internal.content.PackageMonitor
com.android.internal.content.ReferrerIntent
com.android.internal.content.ReferrerIntent$1
com.android.internal.font.IFontManager
com.android.internal.font.IFontManager$Stub
com.android.internal.graphics.drawable.AnimationScaleListDrawable
com.android.internal.graphics.drawable.AnimationScaleListDrawable$AnimationScaleListState
com.android.internal.hardware.AmbientDisplayConfiguration
Loading