From 727c4040b8f3850226cbd3c65e7e032cae91cc1b Mon Sep 17 00:00:00 2001 From: Jane Li Date: Thu, 18 Apr 2024 18:02:55 -0700 Subject: [PATCH] Back out "Use ClassFinder inside ViewManagerPropertyUpdater" (#44152) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/44152 We're seeing an increase of crashes on Twilight (https://www.internalfb.com/logview/twilight_android_crashes/d25ec89876821abdd07f98d08a729f7c?trace_tab=0&ds=%7B%22start%22%3A%22-2%20weeks%22%2C%22end%22%3A%22now%22%7D) related to setting fontWeight with Double instead of String. Original commit changeset: a67195e98377 Original Phabricator Diff: D56191175 Changelog: [Internal] [Changed] - Revert use ClassFinder inside ViewManagerPropertyUpdater Reviewed By: cortinico Differential Revision: D56311183 fbshipit-source-id: e3407ff4858f00f8dadb882221e64a2631105597 --- .../react/uimanager/ViewManagerPropertyUpdater.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.java index 5751ef8f78a..42e9d8b2992 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.java @@ -9,7 +9,6 @@ package com.facebook.react.uimanager; import android.view.View; import com.facebook.common.logging.FLog; -import com.facebook.react.common.ClassFinder; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -110,13 +109,9 @@ public class ViewManagerPropertyUpdater { private static T findGeneratedSetter(Class cls) { String clsName = cls.getName(); try { - Class setterClass = ClassFinder.findClass(clsName + "$$PropsSetter"); - if (setterClass != null) { - //noinspection unchecked - return (T) setterClass.newInstance(); - } else { - return null; - } + Class setterClass = Class.forName(clsName + "$$PropsSetter"); + //noinspection unchecked + return (T) setterClass.newInstance(); } catch (ClassNotFoundException e) { FLog.w(TAG, "Could not find generated setter for " + cls); return null;