From 2b01da073cd7ab4192ffa6a35252b384225136f8 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Thu, 8 Nov 2018 16:55:12 -0800 Subject: [PATCH] Expose rootTag / surfaceId as part of schedulerDidRequestPreliminaryViewAllocation method Summary: This diff exposes rootTag as part of SchedulerDelegate.schedulerDidRequestPreliminaryViewAllocation(). This will be necessary to be able to pool views per Surface in Android Reviewed By: shergin Differential Revision: D12875656 fbshipit-source-id: d2a8c1f9bcc6b14c17b34bf59085da44ae3c3416 --- React/Fabric/RCTScheduler.mm | 2 +- ReactCommon/fabric/uimanager/Scheduler.cpp | 2 +- ReactCommon/fabric/uimanager/SchedulerDelegate.h | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/React/Fabric/RCTScheduler.mm b/React/Fabric/RCTScheduler.mm index f4cc82c5abc13d..a77eeb15cc2e3b 100644 --- a/React/Fabric/RCTScheduler.mm +++ b/React/Fabric/RCTScheduler.mm @@ -27,7 +27,7 @@ void schedulerDidFinishTransaction(Tag rootTag, const ShadowViewMutationList &mu [scheduler.delegate schedulerDidFinishTransaction:mutations rootTag:rootTag]; } - void schedulerDidRequestPreliminaryViewAllocation(ComponentName componentName) override { + void schedulerDidRequestPreliminaryViewAllocation(SurfaceId surfaceId, ComponentName componentName) override { RCTScheduler *scheduler = (__bridge RCTScheduler *)scheduler_; [scheduler.delegate schedulerDidRequestPreliminaryViewAllocationWithComponentName:RCTNSStringFromString(componentName, NSASCIIStringEncoding)]; } diff --git a/ReactCommon/fabric/uimanager/Scheduler.cpp b/ReactCommon/fabric/uimanager/Scheduler.cpp index 7f1b94b145c7c5..68303b6868b088 100644 --- a/ReactCommon/fabric/uimanager/Scheduler.cpp +++ b/ReactCommon/fabric/uimanager/Scheduler.cpp @@ -186,7 +186,7 @@ void Scheduler::uiManagerDidCreateShadowNode( const SharedShadowNode &shadowNode) { if (delegate_) { delegate_->schedulerDidRequestPreliminaryViewAllocation( - shadowNode->getComponentName()); + shadowNode->getRootTag(), shadowNode->getComponentName()); } } diff --git a/ReactCommon/fabric/uimanager/SchedulerDelegate.h b/ReactCommon/fabric/uimanager/SchedulerDelegate.h index 2a50c29061b1f1..081154c1b0d653 100644 --- a/ReactCommon/fabric/uimanager/SchedulerDelegate.h +++ b/ReactCommon/fabric/uimanager/SchedulerDelegate.h @@ -32,6 +32,7 @@ class SchedulerDelegate { * Called right after a new ShadowNode was created. */ virtual void schedulerDidRequestPreliminaryViewAllocation( + SurfaceId surfaceId, ComponentName componentName) = 0; virtual ~SchedulerDelegate() noexcept = default;