Skip to content

Commit 9058dad

Browse files
mdvaccasvenlombaert
authored andcommitted
Fix crash when using TextInput.FontVariant prop in Android API level < 26
Summary: This diff fixes a crash when using TextInput.FontVariant prop in Android API level < 26 Changelog: Fix TextInput.FontVariant prop in Android API level < 26 (related to PR facebook#27006) Reviewed By: JoshuaGross Differential Revision: D18331807 fbshipit-source-id: 5eac4d9e38eb099fae1287d128f3f8c249b0b8bc
1 parent a3c1637 commit 9058dad

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
package com.facebook.react.views.text;
99

10+
import android.text.TextUtils;
11+
1012
import com.facebook.react.bridge.ReadableArray;
1113

1214
import java.util.ArrayList;
@@ -21,25 +23,28 @@ public static String parseFontVariant(ReadableArray fontVariantArray) {
2123
List<String> features = new ArrayList<>();
2224
for (int i = 0; i < fontVariantArray.size(); i++) {
2325
// see https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist
24-
switch (fontVariantArray.getString(i)) {
25-
case "small-caps":
26-
features.add("'smcp'");
27-
break;
28-
case "oldstyle-nums":
29-
features.add("'onum'");
30-
break;
31-
case "lining-nums":
32-
features.add("'lnum'");
33-
break;
34-
case "tabular-nums":
35-
features.add("'tnum'");
36-
break;
37-
case "proportional-nums":
38-
features.add("'pnum'");
39-
break;
26+
String fontVariant = fontVariantArray.getString(i);
27+
if (fontVariant != null) {
28+
switch (fontVariant) {
29+
case "small-caps":
30+
features.add("'smcp'");
31+
break;
32+
case "oldstyle-nums":
33+
features.add("'onum'");
34+
break;
35+
case "lining-nums":
36+
features.add("'lnum'");
37+
break;
38+
case "tabular-nums":
39+
features.add("'tnum'");
40+
break;
41+
case "proportional-nums":
42+
features.add("'pnum'");
43+
break;
44+
}
4045
}
4146
}
4247

43-
return String.join(", ", features);
48+
return TextUtils.join(", ", features);
4449
}
4550
}

0 commit comments

Comments
 (0)