mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Move surface handler registration to Binding.cpp
Summary: Changelog: [Internal] Inverts registration of a SurfaceHandler with the scheduler: instead of passing a scheduler to the SurfaceHandlerBinding, we can now query the SurfaceHandler and register it in place. Reviewed By: JoshuaGross Differential Revision: D27624541 fbshipit-source-id: db5d7f1375fad72a805309a3fcd5a33080e4a4a7
This commit is contained in:
committed by
Facebook GitHub Bot
parent
5cba7c0ce7
commit
214aaf2703
@@ -376,12 +376,14 @@ void Binding::stopSurface(jint surfaceId) {
|
||||
}
|
||||
}
|
||||
|
||||
void Binding::registerSurface(SurfaceHandlerBinding *surfaceHandler) {
|
||||
surfaceHandler->registerScheduler(getScheduler());
|
||||
void Binding::registerSurface(SurfaceHandlerBinding *surfaceHandlerBinding) {
|
||||
auto scheduler = getScheduler();
|
||||
scheduler->registerSurface(surfaceHandlerBinding->getSurfaceHandler());
|
||||
}
|
||||
|
||||
void Binding::unregisterSurface(SurfaceHandlerBinding *surfaceHandler) {
|
||||
surfaceHandler->unregisterScheduler(getScheduler());
|
||||
void Binding::unregisterSurface(SurfaceHandlerBinding *surfaceHandlerBinding) {
|
||||
auto scheduler = getScheduler();
|
||||
scheduler->unregisterSurface(surfaceHandlerBinding->getSurfaceHandler());
|
||||
}
|
||||
|
||||
static inline float scale(Float value, Float pointScaleFactor) {
|
||||
|
||||
@@ -65,16 +65,6 @@ SurfaceHandlerBinding::initHybrid(
|
||||
return makeCxxInstance(surfaceId, moduleNameValue);
|
||||
}
|
||||
|
||||
void SurfaceHandlerBinding::registerScheduler(
|
||||
std::shared_ptr<Scheduler> scheduler) {
|
||||
scheduler->registerSurface(surfaceHandler_);
|
||||
}
|
||||
|
||||
void SurfaceHandlerBinding::unregisterScheduler(
|
||||
std::shared_ptr<Scheduler> scheduler) {
|
||||
scheduler->unregisterSurface(surfaceHandler_);
|
||||
}
|
||||
|
||||
void SurfaceHandlerBinding::setLayoutConstraints(
|
||||
jfloat minWidth,
|
||||
jfloat maxWidth,
|
||||
@@ -103,6 +93,10 @@ void SurfaceHandlerBinding::setProps(NativeMap *props) {
|
||||
surfaceHandler_.setProps(props->consume());
|
||||
}
|
||||
|
||||
SurfaceHandler const &SurfaceHandlerBinding::getSurfaceHandler() {
|
||||
return surfaceHandler_;
|
||||
}
|
||||
|
||||
void SurfaceHandlerBinding::registerNatives() {
|
||||
registerHybrid({
|
||||
makeNativeMethod("initHybrid", SurfaceHandlerBinding::initHybrid),
|
||||
|
||||
@@ -50,6 +50,8 @@ class SurfaceHandlerBinding : public jni::HybridClass<SurfaceHandlerBinding> {
|
||||
|
||||
void setProps(NativeMap *props);
|
||||
|
||||
SurfaceHandler const &getSurfaceHandler();
|
||||
|
||||
private:
|
||||
mutable better::shared_mutex lifecycleMutex_;
|
||||
const SurfaceHandler surfaceHandler_;
|
||||
|
||||
Reference in New Issue
Block a user