From 3ed133656fc4e9ae20ec1d3bdae48de1b74bdd59 Mon Sep 17 00:00:00 2001 From: Andrei Shikov Date: Thu, 11 Mar 2021 13:10:50 -0800 Subject: [PATCH] Use density from provided context for SurfaceHandler Summary: Changelog: [Internal] We were using RN util to get pixel density, but it depends on the surface being created after venice instance is initialized. Given that we have context every time we update constraints, it makes sense to use it directly. Reviewed By: mdvacca Differential Revision: D26959430 fbshipit-source-id: 78701786efd82857812df689a725ba094fbd226e --- .../facebook/react/fabric/SurfaceHandler.java | 3 ++- .../react/fabric/SurfaceHandlerBinding.java | 21 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java index 2118fada6bf..36e717ef325 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java @@ -43,5 +43,6 @@ public interface SurfaceHandler { int offsetX, int offsetY, boolean doLeftAndRightSwapInRTL, - boolean isRTL); + boolean isRTL, + float pixelDensity); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java index fe03c3e6a19..d5f4d889250 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java @@ -22,13 +22,11 @@ public class SurfaceHandlerBinding implements SurfaceHandler { private static final int NO_SURFACE_ID = 0; @DoNotStrip private final HybridData mHybridData; - private final float mPixelDensity; private static native HybridData initHybrid(int surfaceId, String moduleName); - public SurfaceHandlerBinding(String moduleName, float pixelDensity) { + public SurfaceHandlerBinding(String moduleName) { mHybridData = initHybrid(NO_SURFACE_ID, moduleName); - mPixelDensity = pixelDensity; } @Override @@ -80,17 +78,18 @@ public class SurfaceHandlerBinding implements SurfaceHandler { int offsetX, int offsetY, boolean doLeftAndRightSwapInRTL, - boolean isRTL) { + boolean isRTL, + float pixelDensity) { setLayoutConstraintsNative( - getMinSize(widthMeasureSpec) / mPixelDensity, - getMaxSize(widthMeasureSpec) / mPixelDensity, - getMinSize(heightMeasureSpec) / mPixelDensity, - getMaxSize(heightMeasureSpec) / mPixelDensity, - offsetX / mPixelDensity, - offsetY / mPixelDensity, + getMinSize(widthMeasureSpec) / pixelDensity, + getMaxSize(widthMeasureSpec) / pixelDensity, + getMinSize(heightMeasureSpec) / pixelDensity, + getMaxSize(heightMeasureSpec) / pixelDensity, + offsetX / pixelDensity, + offsetY / pixelDensity, doLeftAndRightSwapInRTL, isRTL, - mPixelDensity); + pixelDensity); } private native void setLayoutConstraintsNative(