diff --git a/.ado/templates/apple-droid-node-patching.yml b/.ado/templates/apple-droid-node-patching.yml index 41e512ace404af..e816d3b258b334 100644 --- a/.ado/templates/apple-droid-node-patching.yml +++ b/.ado/templates/apple-droid-node-patching.yml @@ -5,4 +5,4 @@ steps: - task: CmdLine@2 displayName: Apply Android specific patches for Office consumption inputs: - script: node $(System.DefaultWorkingDirectory)/android-patches/bundle/bundle.js patch $(System.DefaultWorkingDirectory) Build OfficeRNHost V8 Focus MAC --patch-store $(System.DefaultWorkingDirectory)/android-patches/patches --log-folder $(System.DefaultWorkingDirectory)/android-patches/logs --confirm ${{ parameters.apply_office_patches }} + script: node $(System.DefaultWorkingDirectory)/android-patches/bundle/bundle.js patch $(System.DefaultWorkingDirectory) Build OfficeRNHost V8 Focus MAC ImageColor --patch-store $(System.DefaultWorkingDirectory)/android-patches/patches --log-folder $(System.DefaultWorkingDirectory)/android-patches/logs --confirm ${{ parameters.apply_office_patches }} diff --git a/android-patches/patches/ImageColor/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java b/android-patches/patches/ImageColor/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java new file mode 100644 index 00000000000000..6d59e245d9c9db --- /dev/null +++ b/android-patches/patches/ImageColor/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java @@ -0,0 +1,35 @@ +diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +index 6e2a1691fd..f856e85d53 100644 +--- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java ++++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +@@ -325,6 +325,21 @@ import java.util.Map; + } + } + ++ private static class BoxedColorPropSetter extends PropSetter { ++ ++ public BoxedColorPropSetter(ReactProp prop, Method setter) { ++ super(prop, "mixed", setter); ++ } ++ ++ @Override ++ protected @Nullable Object getValueOrDefault(Object value, Context context) { ++ if (value != null) { ++ return ColorPropConverter.getColor(value, context); ++ } ++ return null; ++ } ++ } ++ + /*package*/ static Map getNativePropsForView( + Class viewManagerTopClass, + Class shadowNodeTopClass) { +@@ -418,7 +433,7 @@ import java.util.Map; + return new BoxedBooleanPropSetter(annotation, method); + } else if (propTypeClass == Integer.class) { + if ("Color".equals(annotation.customType())) { +- return new ColorPropSetter(annotation, method); ++ return new BoxedColorPropSetter(annotation, method); + } + return new BoxedIntPropSetter(annotation, method); + } else if (propTypeClass == ReadableArray.class) {