/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠI ce Rock ĠMAG ĠInc . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ import Ġcom . icer ock dev . library . Shared Factory Ċ import Ġcom . icer ock dev . library . universal . Cart Navigation Screen Ċ import Ġcom . icer ock dev . library . universal . Cart Screen Ċ import Ġcom . icer ock dev . library . universal . Product Screen Ċ import Ġcom . icer ock dev . library . universal . Products Navigation Screen Ċ import Ġcom . icer ock dev . library . universal . Products Screen Ċ import Ġcom . icer ock dev . library . universal . Root Bottom Navigation Screen Ċ import Ġcom . icer ock dev . library . universal . Widgets Screen Ċ import Ġdev . icer ock . mo ko . widgets . screen . Args Ċ import Ġdev . icer ock . mo ko . widgets . screen . Base Application Ċ import Ġdev . icer ock . mo ko . widgets . screen . Screen Ċ import Ġkotlin . native . concurrent . Thread Local Ċ import Ġkotlin . reflect . K Class Ċ Ċ @ Thread Local Ċ object ĠApp Ġ: ĠBase Application () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshared Factory Ġ= ĠShared Factory () ĊĊĠĠĠĠĠĠĠ Ġregister Screen Factory ( Root Bottom Navigation Screen :: class ) Ġ{ ĠRoot Bottom Navigation Screen ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Screen Factory ( Products Navigation Screen :: class ) Ġ{ ĠProducts Navigation Screen ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Screen Factory ( Cart Navigation Screen :: class ) Ġ{ ĠCart Navigation Screen ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Screen Factory ( Widgets Screen :: class ) Ġ{ ĠWidget s Screen ( shared Factory ) Ġ} ĊĠĠĠĠĠĠĠ Ġregister Screen Factory ( Products Screen :: class ) Ġ{ ĠProducts Screen () Ġ} ĊĠĠĠĠĠĠĠ Ġregister Screen Factory ( Cart Screen :: class ) Ġ{ ĠCart Screen () Ġ} ĊĠĠĠĠĠĠĠ Ġregister Screen Factory ( Product Screen :: class ) Ġ{ ĠProduct Screen () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Root Screen (): ĠK Class < out ĠScreen < Args . Empty >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRoot Bottom Navigation Screen :: class ĊĠĠĠ Ġ} Ċ } Ċ