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

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

Merge "Introduce set/getFontVariationSettings."

parents e9b83480 9ff994d9
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -12740,6 +12740,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();
@@ -12797,6 +12798,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);
@@ -50036,6 +50038,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();
@@ -50145,6 +50148,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
@@ -13303,6 +13303,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();
@@ -13360,6 +13361,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);
@@ -53803,6 +53805,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();
@@ -53912,6 +53915,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
@@ -12774,6 +12774,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();
@@ -12831,6 +12832,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);
@@ -50356,6 +50358,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();
@@ -50465,6 +50468,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
@@ -3457,6 +3457,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
@@ -3563,6 +3577,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
@@ -118,6 +118,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