diff --git a/packages/react-native-reanimated/android/src/main/java/com/swmansion/reanimated/NodesManager.java b/packages/react-native-reanimated/android/src/main/java/com/swmansion/reanimated/NodesManager.java index 51d2bfea758..9c1067b1430 100644 --- a/packages/react-native-reanimated/android/src/main/java/com/swmansion/reanimated/NodesManager.java +++ b/packages/react-native-reanimated/android/src/main/java/com/swmansion/reanimated/NodesManager.java @@ -454,27 +454,27 @@ public String obtainProp(int viewTag, String propName) { return Float.toString(PixelUtil.toDIPFromPixel(view.getLeft())); case "backgroundColor": Drawable background = view.getBackground(); + int actualColor = -1; + if (background instanceof ReactViewBackgroundDrawable) { + actualColor = ((ReactViewBackgroundDrawable) background).getColor(); + } + ; - if (background instanceof ReactViewBackgroundDrawable - || background instanceof CSSBackgroundDrawable) { - int actualColor = -1; - if (background instanceof ReactViewBackgroundDrawable) { - actualColor = ((ReactViewBackgroundDrawable) background).getColor(); - } - ; - - if (background instanceof CSSBackgroundDrawable) { - actualColor = ((CSSBackgroundDrawable) background).getColor(); - } - ; + if (background instanceof CSSBackgroundDrawable) { + actualColor = ((CSSBackgroundDrawable) background).getColor(); + } + ; - String invertedColor = String.format("%08x", (0xFFFFFFFF & actualColor)); - // By default transparency is first, color second - return "#" + invertedColor.substring(2, 8) + invertedColor.substring(0, 2); + if (actualColor == -1) { + return "Unable to resolve background color"; } + + String invertedColor = String.format("%08x", (0xFFFFFFFF & actualColor)); + // By default transparency is first, color second + return "#" + invertedColor.substring(2, 8) + invertedColor.substring(0, 2); + ; - return "Unable to resolve background color"; default: throw new IllegalArgumentException( "[Reanimated] Attempted to get unsupported property "