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

Commit d6269707 authored by Haoyu Zhang's avatar Haoyu Zhang
Browse files

Add fontVariationSettings to TextView and TextAppearance in XML

Bug: 73235218
Test: atest TextViewFontVariationTest
Change-Id: Ic284846919b1c58dc696a140b59b3244491c774e
parent 6243c05b
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -3528,6 +3528,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        boolean mHasLetterSpacing = false;
        float mLetterSpacing = 0;
        String mFontFeatureSettings = null;
        String mFontVariationSettings = null;

        @Override
        public String toString() {
@@ -3555,6 +3556,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                    + "    mHasLetterSpacing:" + mHasLetterSpacing + "\n"
                    + "    mLetterSpacing:" + mLetterSpacing + "\n"
                    + "    mFontFeatureSettings:" + mFontFeatureSettings + "\n"
                    + "    mFontVariationSettings:" + mFontVariationSettings + "\n"
                    + "}";
        }
    }
@@ -3598,6 +3600,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                com.android.internal.R.styleable.TextAppearance_letterSpacing);
        sAppearanceValues.put(com.android.internal.R.styleable.TextView_fontFeatureSettings,
                com.android.internal.R.styleable.TextAppearance_fontFeatureSettings);
        sAppearanceValues.put(com.android.internal.R.styleable.TextView_fontVariationSettings,
                com.android.internal.R.styleable.TextAppearance_fontVariationSettings);
    }

    /**
@@ -3700,6 +3704,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                case com.android.internal.R.styleable.TextAppearance_fontFeatureSettings:
                    attributes.mFontFeatureSettings = appearance.getString(attr);
                    break;
                case com.android.internal.R.styleable.TextAppearance_fontVariationSettings:
                    attributes.mFontVariationSettings = appearance.getString(attr);
                    break;
                default:
            }
        }
@@ -3756,6 +3763,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        if (attributes.mFontFeatureSettings != null) {
            setFontFeatureSettings(attributes.mFontFeatureSettings);
        }

        if (attributes.mFontVariationSettings != null) {
            setFontVariationSettings(attributes.mFontVariationSettings);
        }
    }

    /**
+4 −0
Original line number Diff line number Diff line
@@ -4574,6 +4574,8 @@
        <attr name="letterSpacing" format="float" />
        <!-- Font feature settings. -->
        <attr name="fontFeatureSettings" format="string" />
        <!-- Font variation settings. -->
        <attr name="fontVariationSettings" format="string"/>
    </declare-styleable>
    <declare-styleable name="TextClock">
        <!-- Specifies the formatting pattern used to show the time and/or date
@@ -4922,6 +4924,8 @@
        <attr name="letterSpacing" />
        <!-- Font feature settings. -->
        <attr name="fontFeatureSettings" />
        <!-- Font variation settings. -->
        <attr name="fontVariationSettings" />
        <!-- Break strategy (control over paragraph layout). -->
        <attr name="breakStrategy">
            <!-- Line breaking uses simple strategy. -->