package Ġcom . react native carousel Ċ Ċ import Ġcom . facebook . react . bridge . React Context Ċ import Ġcom . facebook . react . u im an ager . Layout Shadow Node Ċ import Ġcom . facebook . react . u im an ager . UI Implementation Ċ import Ġcom . facebook . react . u im an ager . UI Manager Module Ċ import Ġcom . facebook . react . u im an ager . UI View Operation Queue Ċ import Ġjava . lang . reflect . Method Ċ Ċ object ĠReact Update Helper Ġ{ ĊĠ Ġprivate Ġvar Ġ_ ui Manager : ĠUI Manager Module ? Ġ= Ġnull ĊĠ Ġprivate Ġvar Ġ_ ui Implementation : ĠUI Implementation ? Ġ= Ġnull ĊĠ Ġprivate Ġvar Ġ_ operations Queue : ĠUIView Operation Queue ? Ġ= Ġnull ĊĠ Ġprivate Ġvar Ġ_ dispatch View Update Method : ĠMethod ? Ġ= Ġnull ĊĊĠ Ġfun Ġget Ui Manager ( c : ĠReact Context ): ĠUI Manager Module Ġ{ ĊĠĠĠ Ġ_ ui Manager ?. let Ġ{ Ġreturn Ġit Ġ} ĊĠĠĠ Ġval Ġmanager Ġ= Ġc . get Native Module < UI Manager Module >( UI Manager Module :: class . java ) !! ĊĠĠĠ Ġ_ ui Manager Ġ= Ġmanager ĊĠĠĠ Ġreturn Ġmanager ĊĠ Ġ} ĊĊĠ Ġfun Ġget Ui Implementation ( c : ĠReact Context ): ĠUI Implementation Ġ{ ĊĠĠĠ Ġ_ ui Implementation ?. let Ġ{ Ġreturn Ġit Ġ} ĊĠĠĠ Ġval Ġui Manager Ġ= Ġget Ui Manager ( c ) ĊĠĠĠ Ġval Ġobj Ġ= Ġget Private Field < UI Implementation >( ui Manager , Ġ" m UI Implementation ") ĊĠĠĠ Ġ_ ui Implementation Ġ= Ġobj ĊĠĠĠ Ġreturn Ġobj ĊĠ Ġ} ĊĊĠ Ġfun Ġget Operations Queue ( c : ĠReact Context ): ĠUIView Operation Queue Ġ{ ĊĠĠĠ Ġ_ operations Queue ?. let Ġ{ Ġreturn Ġit Ġ} ĊĠĠĠ Ġval Ġui Implementation Ġ= Ġget Ui Implementation ( c ) ĊĠĠĠ Ġval Ġobj Ġ= Ġget Private Field < UI View Operation Queue >( ui Implementation , Ġ" m Operations Queue ") ĊĠĠĠ Ġ_ operations Queue Ġ= Ġobj ĊĠĠĠ Ġreturn Ġobj ĊĠ Ġ} ĊĊĠ Ġfun Ġdispatch View Update ( c : ĠReact Context ) Ġ{ ĊĠĠĠ Ġval Ġui Implementation Ġ= Ġget Ui Implementation ( c ) ĊĠĠĠ Ġif Ġ(_ dispatch View Update Method Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġval Ġobj Ġ= Ġget Private Method ( ui Implementation , Ġ" dispatch View Updates ", ĠInt :: class . java ) ĊĠĠĠĠĠ Ġ_ dispatch View Update Method Ġ= Ġobj ĊĠĠĠ Ġ} ĊĠĠĠ Ġ_ dispatch View Update Method ?. also Ġ{ ĊĠĠĠĠĠ Ġc . run On Native Modules Queue Thread Ġ{ ĊĠĠĠĠĠĠĠ Ġit . invoke ( ui Implementation , Ġ- 1 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠ Ġfun Ġ< R > Ġget Private Field ( source : ĠAny , ĠfieldName : ĠString ): ĠR Ġ= ĊĠĠĠ Ġsource :: class . java . getDeclared Field ( fieldName ). let Ġ{ Ġf Ġ-> ĊĠĠĠĠĠ Ġf . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠ Ġf . get ( source ) Ġas ĠR ĊĠĠĠ Ġ} ĊĊĠ Ġfun Ġget Private Method ( source : ĠAny , ĠmethodName : ĠString , Ġvar arg Ġparameter Types : ĠClass < *> ): ĠMethod Ġ= ĊĠĠĠ Ġsource :: class . java . getDeclared Method ( methodName , Ġ* parameter Types ). also Ġ{ Ġf Ġ-> ĊĠĠĠĠĠ Ġf . is Accessible Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠLayout Shadow Node . update React Layout ( index : ĠInt , Ġheight : ĠInt ) Ġ{ ĊĠ Ġtry Ġ{ ĊĠĠĠ Ġ// ĠCheck Ġview Ġis Ġexists ĊĠĠĠ ĠReact Update Helper . get Ui Manager ( the med Context ). resolve View ( react Tag ) ĊĊĠĠĠ ĠReact Update Helper ĊĠĠĠĠĠ Ġ. get Operations Queue ( the med Context ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue Update Layout ( parent !!. react Tag , Ġreact Tag , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠ Ġ. enqueue Update Layout ( root Tag , Ġreact Tag , Ġ 0 , Ġ 0 , Ġ 0 , Ġheight ) ĊĠĠĠ ĠReact Update Helper . dispatch View Update ( the med Context ) ĊĠĠĠ Ġprintln (" ðŁĶ ¦ Ġ${ index } Ġupdate React Layout Ġsuccess ") ĊĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠ Ġprintln (" ðŁĶ ¦ Ġ${ index } Ġupdate React Layout ĠERROR " Ġ+ Ġe . message ) ĊĠĠĠ Ġ/* Ġno - op Ġ*/ ĊĠ Ġ} Ċ } Ċ