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

Commit 4064710a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Introduce set/getFontVariationSettings."

parents 0078e1b7 ba3028c1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -12505,6 +12505,7 @@ package android.graphics {
    method public int getFontMetricsInt(android.graphics.Paint.FontMetricsInt);
    method public android.graphics.Paint.FontMetricsInt getFontMetricsInt();
    method public float getFontSpacing();
    method public java.lang.String getFontVariationSettings();
    method public int getHinting();
    method public float getLetterSpacing();
    method public android.graphics.MaskFilter getMaskFilter();
@@ -12562,6 +12563,7 @@ package android.graphics {
    method public void setFilterBitmap(boolean);
    method public void setFlags(int);
    method public void setFontFeatureSettings(java.lang.String);
    method public void setFontVariationSettings(java.lang.String);
    method public void setHinting(int);
    method public void setLetterSpacing(float);
    method public void setLinearText(boolean);
@@ -49190,6 +49192,7 @@ package android.widget {
    method public int getExtendedPaddingTop();
    method public android.text.InputFilter[] getFilters();
    method public java.lang.String getFontFeatureSettings();
    method public java.lang.String getFontVariationSettings();
    method public boolean getFreezesText();
    method public int getGravity();
    method public int getHighlightColor();
@@ -49295,6 +49298,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 void setFontVariationSettings(java.lang.String);
    method protected boolean setFrame(int, int, int, int);
    method public void setFreezesText(boolean);
    method public void setGravity(int);
+4 −0
Original line number Diff line number Diff line
@@ -13009,6 +13009,7 @@ package android.graphics {
    method public int getFontMetricsInt(android.graphics.Paint.FontMetricsInt);
    method public android.graphics.Paint.FontMetricsInt getFontMetricsInt();
    method public float getFontSpacing();
    method public java.lang.String getFontVariationSettings();
    method public int getHinting();
    method public float getLetterSpacing();
    method public android.graphics.MaskFilter getMaskFilter();
@@ -13066,6 +13067,7 @@ package android.graphics {
    method public void setFilterBitmap(boolean);
    method public void setFlags(int);
    method public void setFontFeatureSettings(java.lang.String);
    method public void setFontVariationSettings(java.lang.String);
    method public void setHinting(int);
    method public void setLetterSpacing(float);
    method public void setLinearText(boolean);
@@ -52774,6 +52776,7 @@ package android.widget {
    method public int getExtendedPaddingTop();
    method public android.text.InputFilter[] getFilters();
    method public java.lang.String getFontFeatureSettings();
    method public java.lang.String getFontVariationSettings();
    method public boolean getFreezesText();
    method public int getGravity();
    method public int getHighlightColor();
@@ -52879,6 +52882,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 void setFontVariationSettings(java.lang.String);
    method protected boolean setFrame(int, int, int, int);
    method public void setFreezesText(boolean);
    method public void setGravity(int);
+4 −0
Original line number Diff line number Diff line
@@ -12536,6 +12536,7 @@ package android.graphics {
    method public int getFontMetricsInt(android.graphics.Paint.FontMetricsInt);
    method public android.graphics.Paint.FontMetricsInt getFontMetricsInt();
    method public float getFontSpacing();
    method public java.lang.String getFontVariationSettings();
    method public int getHinting();
    method public float getLetterSpacing();
    method public android.graphics.MaskFilter getMaskFilter();
@@ -12593,6 +12594,7 @@ package android.graphics {
    method public void setFilterBitmap(boolean);
    method public void setFlags(int);
    method public void setFontFeatureSettings(java.lang.String);
    method public void setFontVariationSettings(java.lang.String);
    method public void setHinting(int);
    method public void setLetterSpacing(float);
    method public void setLinearText(boolean);
@@ -49492,6 +49494,7 @@ package android.widget {
    method public int getExtendedPaddingTop();
    method public android.text.InputFilter[] getFilters();
    method public java.lang.String getFontFeatureSettings();
    method public java.lang.String getFontVariationSettings();
    method public boolean getFreezesText();
    method public int getGravity();
    method public int getHighlightColor();
@@ -49597,6 +49600,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 void setFontVariationSettings(java.lang.String);
    method protected boolean setFrame(int, int, int, int);
    method public void setFreezesText(boolean);
    method public void setGravity(int);
+49 −0
Original line number Diff line number Diff line
@@ -3243,6 +3243,20 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        return mTextPaint.getFontFeatureSettings();
    }

    /**
     * Returns the font variation settings.
     *
     * @return the currently set font variation settings.  Returns null if no variation is
     * specified.
     *
     * @see #setFontVariationSettings(String)
     * @see Paint#setFontVariationSettings(String) Paint.setFontVariationSettings(String)
     */
    @Nullable
    public String getFontVariationSettings() {
        return mTextPaint.getFontVariationSettings();
    }

    /**
     * Sets the break strategy for breaking paragraphs into lines. The default value for
     * TextView is {@link Layout#BREAK_STRATEGY_HIGH_QUALITY}, and the default value for
@@ -3349,6 +3363,41 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
    }


    /**
     * Sets TrueType or OpenType font variation settings. The settings string is constructed from
     * multiple pairs of axis tag and style values. The axis tag must contain four ASCII characters
     * and must be wrapped with single quotes (U+0027) or double quotes (U+0022). Axis strings that
     * are longer or shorter than four characters, or contain characters outside of U+0020..U+007E
     * are invalid. If a specified axis name is not defined in the font, the settings will be
     * ignored.
     *
     * <pre>
     *   textView.setFontVariationSettings("'wdth' 1.0");
     *   textView.setFontVariationSettings("'AX  ' 1.8, 'FB  ' 2.0");
     * </pre>
     *
     * @param fontVariationSettings font variation settings. You can pass null or empty string as
     *                              no variation settings.
     *
     * @see #getFontVariationSettings()
     * @see Paint#getFontVariationSettings() Paint.getFontVariationSettings()
     */
    public void setFontVariationSettings(@Nullable String fontVariationSettings) {
        final String existingSettings = mTextPaint.getFontVariationSettings();
        if (fontVariationSettings == existingSettings
                || (fontVariationSettings != null
                        && fontVariationSettings.equals(existingSettings))) {
            return;
        }
        mTextPaint.setFontVariationSettings(fontVariationSettings);

        if (mLayout != null) {
            nullLayouts();
            requestLayout();
            invalidate();
        }
    }

    /**
     * Sets the text color for all the states (normal, selected,
     * focused) to be this color.
+1 −0
Original line number Diff line number Diff line
@@ -117,6 +117,7 @@ LOCAL_SRC_FILES:= \
    android/graphics/ColorFilter.cpp \
    android/graphics/DrawFilter.cpp \
    android/graphics/FontFamily.cpp \
    android/graphics/FontUtils.cpp \
    android/graphics/CreateJavaOutputStreamAdaptor.cpp \
    android/graphics/GIFMovie.cpp \
    android/graphics/GraphicBuffer.cpp \
Loading