diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java index ab6d1739b05..fa93a240a7a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java @@ -13,7 +13,9 @@ import android.util.DisplayMetrics; import android.view.Display; import android.view.WindowManager; import androidx.annotation.Nullable; +import androidx.annotation.UiThread; import com.facebook.infer.annotation.Assertions; +import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.bridge.WritableNativeMap; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -37,7 +39,9 @@ public class DisplayMetricsHolder { * @deprecated Use {@link #setScreenDisplayMetrics(DisplayMetrics)} instead. See comment above as * to why this is not correct to use. */ + @UiThread public static void setWindowDisplayMetrics(DisplayMetrics displayMetrics) { + UiThreadUtil.assertOnUiThread(); sWindowDisplayMetrics = displayMetrics; } @@ -48,7 +52,9 @@ public class DisplayMetricsHolder { initDisplayMetrics(context); } + @UiThread public static void initDisplayMetrics(Context context) { + UiThreadUtil.assertOnUiThread(); DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); DisplayMetricsHolder.setWindowDisplayMetrics(displayMetrics); @@ -95,7 +101,9 @@ public class DisplayMetricsHolder { return sWindowDisplayMetrics; } + @UiThread public static void setScreenDisplayMetrics(DisplayMetrics screenDisplayMetrics) { + UiThreadUtil.assertOnUiThread(); sScreenDisplayMetrics = screenDisplayMetrics; }