summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Seigo Nonaka <nona@google.com> 2019-01-24 17:03:01 -0800
committer Seigo Nonaka <nona@google.com> 2019-01-24 17:03:01 -0800
commitd01a515f551475c32a625de94187e8c9b9e05c1c (patch)
tree5c56bf65179041e3e91b4ef00e987514a9e7f637
parent9de1f4e9e81e3f384ada3002bb29d2618a5d512e (diff)
Suppress IllegalArgumentException on API 28 or before
The suppression was added to FontsContract by I7fba3e4d21fc895dfee4300db7d7e3000095ff92 but not in Resources.getFont. This CL adds suppression for Resources.getFont too. Bug: 122262093 Test: locally verified Change-Id: I15159dadc7e3694be5d90435a7a24cd626086656
-rw-r--r--graphics/java/android/graphics/Typeface.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java
index 25f6775f81b4..cb1f69c0ada3 100644
--- a/graphics/java/android/graphics/Typeface.java
+++ b/graphics/java/android/graphics/Typeface.java
@@ -33,6 +33,7 @@ import android.graphics.fonts.FontStyle;
import android.graphics.fonts.FontVariationAxis;
import android.graphics.fonts.SystemFonts;
import android.os.Build;
+import android.os.Build.VERSION_CODES;
import android.provider.FontRequest;
import android.provider.FontsContract;
import android.text.FontConfig;
@@ -46,6 +47,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.Preconditions;
import dalvik.annotation.optimization.CriticalNative;
+import dalvik.system.VMRuntime;
import libcore.util.NativeAllocationRegistry;
@@ -243,7 +245,16 @@ public class Typeface {
if (familyBuilder == null) {
familyBuilder = new FontFamily.Builder(fontBuilder.build());
} else {
- familyBuilder.addFont(fontBuilder.build());
+ try {
+ familyBuilder.addFont(fontBuilder.build());
+ } catch (IllegalArgumentException e) {
+ if (VMRuntime.getRuntime().getTargetSdkVersion() <= VERSION_CODES.P) {
+ // Surpress the IllegalArgumentException for keeping the backward
+ // compatibility.
+ continue;
+ }
+ throw e;
+ }
}
}
if (familyBuilder == null) {