Skip to content

Commit

Permalink
Fix crash when using TextInput.FontVariant prop in Android API level …
Browse files Browse the repository at this point in the history
…< 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
  • Loading branch information
mdvacca authored and svenlombaert committed Jan 7, 2020
1 parent a79b55c commit 2498203
Showing 1 changed file with 22 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

package com.facebook.react.views.text;

import android.text.TextUtils;

import com.facebook.react.bridge.ReadableArray;

import java.util.ArrayList;
Expand All @@ -21,25 +23,28 @@ public static String parseFontVariant(ReadableArray fontVariantArray) {
List<String> features = new ArrayList<>();
for (int i = 0; i < fontVariantArray.size(); i++) {
// see https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist
switch (fontVariantArray.getString(i)) {
case "small-caps":
features.add("'smcp'");
break;
case "oldstyle-nums":
features.add("'onum'");
break;
case "lining-nums":
features.add("'lnum'");
break;
case "tabular-nums":
features.add("'tnum'");
break;
case "proportional-nums":
features.add("'pnum'");
break;
String fontVariant = fontVariantArray.getString(i);
if (fontVariant != null) {
switch (fontVariant) {
case "small-caps":
features.add("'smcp'");
break;
case "oldstyle-nums":
features.add("'onum'");
break;
case "lining-nums":
features.add("'lnum'");
break;
case "tabular-nums":
features.add("'tnum'");
break;
case "proportional-nums":
features.add("'pnum'");
break;
}
}
}

return String.join(", ", features);
return TextUtils.join(", ", features);
}
}

0 comments on commit 2498203

Please sign in to comment.