Skip to content
Browse files
Fix font variant crash on Android < 4.4 (#29176)
In RN 0.62 support for `fontVariant` was added on Android.
Using that prop crashes the app on Android below KitKat (4.3 and below)

To reproduce just add any Text with the `fontVariant` styling prop in the app:
<Text style={{fontVariant: ['tabular-nums']}}>This will crash</Text>
It will crash any device running Android below KitKat with the error:


This is caused by `java.utils.Objects` only being available on Android 4.4+

## Changelog

[Android] [Fixed] - Fix font variant crash on Android < 4.4
Pull Request resolved: #29176

Test Plan:
[TextUtils.equals]( was added as soon as API level 1, so no compatibility issue here.
Tested on Emulator running Android 4.1, no crash anymore.

I've searched for other occurences of `java.utils.Objects` in the project, and this was the only one, so no need to remove other occurences 

Reviewed By: JoshuaGross

Differential Revision: D22337316

Pulled By: mdvacca

fbshipit-source-id: 5507b21b237a725d596d47b5c01e269895b16d4a
  • Loading branch information
Almouro authored and facebook-github-bot committed Jul 2, 2020
1 parent 8320ad3 commit f23feced42abd1d18a12e413bf79a51bead61379
Showing 1 changed file with 2 additions and 2 deletions.
@@ -14,6 +14,7 @@
import android.text.Layout;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.view.Gravity;
import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Assertions;
@@ -34,7 +35,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

* {@link ReactShadowNode} abstract class for spannable text nodes.
@@ -512,7 +512,7 @@ public void setFontWeight(@Nullable String fontWeightString) {
public void setFontVariant(@Nullable ReadableArray fontVariantArray) {
String fontFeatureSettings = ReactTypefaceUtils.parseFontVariant(fontVariantArray);

if (!Objects.equals(fontFeatureSettings, mFontFeatureSettings)) {
if (!TextUtils.equals(fontFeatureSettings, mFontFeatureSettings)) {
mFontFeatureSettings = fontFeatureSettings;

0 comments on commit f23fece

Please sign in to comment.