summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Seigo Nonaka <nona@google.com> 2025-02-22 12:19:29 +0900
committer Seigo Nonaka <nona@google.com> 2025-02-22 12:19:29 +0900
commit66e5dbdbc143bcf7daf62269270f8979c4923df2 (patch)
treeddfd24fbf820237d1189d1487f2cf6a1ce2740f2
parent4113b5f3ba34ba332c3f4be0bc2c5a42f0bdb26e (diff)
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
-rw-r--r--core/api/current.txt2
-rw-r--r--graphics/java/android/graphics/Paint.java18
2 files changed, 7 insertions, 13 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 9ebb5068bf19..91e466dc1f12 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -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);
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index 3d4dccf095f5..bbcd5e3ad5e5 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -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;
}
/**