package Ġcom . gue t . flex box . l ith o Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Looper Ċ import Ġandroidx . annotation . Any Thread Ċ import Ġandroidx . annotation . Restrict To Ċ import Ġandroidx . annotation . Worker Thread Ċ import Ġcom . facebook . l ith o .* Ċ import Ġcom . gue t . flex box . Template Node Ċ import Ġcom . gue t . flex box . event system . EventDispatcher Ċ import Ġcom . gue t . flex box . event system . EventTarget Ċ import Ġcom . gue t . flex box . event system . event . Refresh Page Event Ċ import Ġcom . gue t . flex box . event system . event . Template Event Ċ Ċ class ĠTemplate Page Ġ@ Worker Thread Ġinternal Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġbuilder : ĠBuilder Ċ ) Ġ: ĠTree Manager ( builder ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( context : ĠContext ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// çĶ±äºİ é¢Ħ åĬłè½½ æĹ¶éĹ´ çĤ¹ äºİ ä½¿çĶ¨ æĹ¶éĹ´ çĤ¹ ä¸įåĲĮ ï¼Į æīĢä»¥ ctx å¿ħé¡» æĺ¯ app ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBuilder ( Component Context ( context . application Context )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠLocal Event Interceptor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġdispatcher : ĠEvent Dispatcher ĊĠĠĠ Ġ) Ġ: ĠEvent Target Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdispatch Event ( e : ĠTemplate Event < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġis ĠRefresh Page Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompute New Layout () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdispatcher . dispatchEvent ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdispatcher Ġ= ĠEvent Dispatcher () ĊĠĠĠ Ġprivate Ġval Ġsize Ġ= ĠSize () ĊĠĠĠ Ġprivate Ġval Ġtemplate : ĠTemplate Node Ġ= Ġrequire NotNull ( builder . template ) ĊĠĠĠ Ġprivate Ġval Ġlocal Target Ġ= ĠLocal Event Interceptor ( dispatcher ) ĊĠĠĠ Ġprivate Ġval Ġdata Context Ġ= ĠL ith o Build Tool . new Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . data , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Target ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġcompute Runnable Ġ= ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold Width Ġ= Ġsize . width ĊĠĠĠĠĠĠĠ Ġval Ġold Height Ġ= Ġsize . height ĊĠĠĠĠĠĠĠ Ġval Ġcom Ġ= ĠL ith o Build Tool . build Root < Component >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Target , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset Root And Size Spec ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcom , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSize Spec . make Size Spec ( 0 , ĠSize Spec . UNSPECIFIED ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSize Spec . make Size Spec ( 0 , ĠSize Spec . UNSPECIFIED ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( old Width Ġ!= Ġwidth Ġ|| Ġold Height Ġ!= Ġheight ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhosting View Ġ= Ġl ith o View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas ? ĠHost ing View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn @ Runnable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhosting View . post Ġ{ Ġhosting View . request Layout () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. apply Ġ{ Ġrun () Ġ} ĊĊĊĠĠĠ Ġval Ġwidth : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsize . width ĊĊĠĠĠ Ġval Ġheight : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsize . height ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setSize Spec ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSize Spec . make Size Spec ( 0 , ĠSize Spec . UNSPECIFIED ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSize Spec . make Size Spec ( 0 , ĠSize Spec . UNSPECIFIED ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġvar Ġouter Target : ĠEvent Target ? ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispatcher . target Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdispatcher . target ĊĊĠĠĠ Ġoverride Ġfun Ġattach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . attach () ĊĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġl ith o View Ġas ? ĠHost ing View ĊĠĠĠĠĠĠĠ Ġouter Target Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( host Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġouter Target Ġ= Ġhost . event Bus ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdetach () Ġ{ ĊĠĠĠĠĠĠĠ Ġouter Target Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . detach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrelease () Ġ{ ĊĠĠĠĠĠĠĠ Ġouter Target Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Any Thread ĊĠĠĠ Ġprivate Ġfun Ġcompute New Layout () Ġ{ ĊĠĠĠĠĠĠĠ ĠThreadPool . executor . execute ( compute Runnable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠBuilder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠComponent Context ĊĠĠĠ Ġ) Ġ: ĠComponent Tree . Builder ( context ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Synt hetic ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY ) ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtemplate : ĠTemplate Node ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ@ Jvm Synt hetic ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY ) ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġdata : ĠAny ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" use Ġtemplate () Ġand Ġdata ()", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠDeprec ation Level . HIDDEN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwith Root ( root : ĠComponent ?): ĠComponent Tree . Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" use Ġtemplate () Ġand Ġdata () ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" framework Ġuse Ġdefault Ġthread Ġpool ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠDeprec ation Level . HIDDEN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġlayout Thread Handler ( handler : ĠL ith o Handler ?): ĠComponent Tree . Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" framework Ġuse Ġdefault Ġthread Ġpool ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" framework Ġuse Ġdefault Ġthread Ġpool ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠDeprec ation Level . HIDDEN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Restrict To ( Restrict To . Scope . LIBRARY ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġlayout Thread Looper ( lo oper : ĠL ooper ?): ĠComponent Tree . Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" framework Ġuse Ġdefault Ġthread Ġpool ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġtemplate ( template Node : ĠTemplate Node ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . template Ġ= Ġtemplate Node ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdata ( data : ĠAny ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Worker Thread ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbuild (): ĠTemplate Page Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . layout Thread Handler ( ThreadPool . l ith o Handler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . with Root ( Row . create ( context ). build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Re conc iliation Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTemplate Page ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }