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

Commit 66e5dbdb authored by Seigo Nonaka's avatar Seigo Nonaka
Browse files

Address API council feedback: align with existing API

To align the similar behavior with setFontVariationSettings,
throws IllegalArgumentException in case of invalid syntax.

Bug: 389111359
Test: atest PaintTest
Flag: com.android.text.flags.typeface_redesign_readonly
Change-Id: Idd2e53964bccc6412c81307d969b6d9cc944be77
parent 4113b5f3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -16993,7 +16993,7 @@ package android.graphics {
    method public void setFilterBitmap(boolean);
    method public void setFlags(int);
    method public void setFontFeatureSettings(String);
    method @FlaggedApi("com.android.text.flags.typeface_redesign_readonly") public boolean setFontVariationOverride(@Nullable String);
    method @FlaggedApi("com.android.text.flags.typeface_redesign_readonly") public void setFontVariationOverride(@Nullable String);
    method public boolean setFontVariationSettings(String);
    method public void setHinting(int);
    method public void setLetterSpacing(float);
+6 −12
Original line number Diff line number Diff line
@@ -2205,26 +2205,21 @@ public class Paint {
     * @param fontVariationOverride font variation override. You can pass null or empty string for
     *                              clearing font variation override.
     *
     * @return true if the provided font variation settings is valid. Otherwise returns false.
     *
     * @throws IllegalArgumentException If given string is not a valid font variation settings
     *                                  format
     * @see #getFontVariationSettings()
     * @see #setFontVariationSettings(String)
     * @see #getFontVariationOverride()
     * @see FontVariationAxis
     */
    @FlaggedApi(FLAG_TYPEFACE_REDESIGN_READONLY)
    public boolean setFontVariationOverride(@Nullable String fontVariationOverride) {
    public void setFontVariationOverride(@Nullable String fontVariationOverride) {
        if (Objects.equals(fontVariationOverride, mFontVariationOverride)) {
            return true;
            return;
        }

        List<FontVariationAxis> axes;
        try {
            axes = FontVariationAxis.fromFontVariationSettingsForList(fontVariationOverride);
        } catch (IllegalArgumentException e) {
            Log.i(TAG, "failed to parse font variation settings.", e);
            return false;
        }
        List<FontVariationAxis> axes =
                FontVariationAxis.fromFontVariationSettingsForList(fontVariationOverride);
        long builderPtr = nCreateFontVariationBuilder(axes.size());
        for (int i = 0; i < axes.size(); ++i) {
            FontVariationAxis axis = axes.get(i);
@@ -2233,7 +2228,6 @@ public class Paint {
        }
        nSetFontVariationOverride(mNativePaint, builderPtr);
        mFontVariationOverride = fontVariationOverride;
        return true;
    }

    /**