/* Ċ Ġ* ĠThe ĠMIT ĠLicense Ġ( MIT ) Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 - 2 0 2 2 ĠD mit ri y ĠG or bun ov Ġ( d mit ri y . goto @ gmail . com ) Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġme . dm dev . pre mo . sample Ċ Ċ import Ġme . dm dev . pre mo . Pm Description Ċ import Ġme . dm dev . pre mo . Pm Params Ċ import Ġme . dm dev . pre mo . Pm State Saver Ċ import Ġme . dm dev . pre mo . Pm State Saver Factory Ċ import Ġme . dm dev . pre mo . Presentation Model Ċ import Ġme . dm dev . pre mo . sample . bottom _ navigation . Bottom Navigation Pm Ċ import Ġme . dm dev . pre mo . sample . bottom _ navigation . Tab Item Pm Ċ import Ġme . dm dev . pre mo . sample . bottom _ navigation . Tab Pm Ċ import Ġme . dm dev . pre mo . sample . serialization . Json Pm State Saver Ċ import Ġme . dm dev . pre mo . sample . stack _ navigation . Simple Screen Pm Ċ import Ġme . dm dev . pre mo . sample . stack _ navigation . Stack Navigation Pm Ċ Ċ object ĠStub s Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmain Pm Factory Ġ= ĠMain Pm Factory () ĊĊĠĠĠ Ġval Ġmain Pm Ġ= Ġcreate Pm < Main Pm >( Main Pm . Description ) ĊĠĠĠ Ġval Ġsamples Pm Ġ= Ġcreate Pm < Samples Pm >( Samples Pm . Description ) ĊĠĠĠ Ġval Ġcounter Pm Ġ= Ġcreate Pm < Counter Pm >( Counter Pm . Description ( 1 0 )) ĊĠĠĠ Ġval Ġstack Navigation Pm Ġ= Ġcreate Pm < Stack Navigation Pm >( Stack Navigation Pm . Description ) ĊĠĠĠ Ġval Ġsimple Pm Ġ= Ġcreate Pm < Simple Screen Pm >( Simple Screen Pm . Description ( 1 )) ĊĠĠĠ Ġval Ġbottom Bar Pm Ġ= Ġcreate Pm < Bottom Navigation Pm >( Bottom Navigation Pm . Description ) ĊĠĠĠ Ġval Ġtab Pm Ġ= Ġcreate Pm < Tab Pm >( Tab Pm . Description (" Tab Ġ# ")) ĊĠĠĠ Ġval Ġtab Item Pm Ġ= Ġcreate Pm < Tab Item Pm >( Tab Item Pm . Description (" Screen Ġ# ", Ġ" Tab Ġ# ")) ĊĊĠĠĠ Ġprivate Ġfun Ġ< PM Ġ: ĠPresentation Model > Ġcreate Pm ( description : ĠP m Description ): ĠPM Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠP m Params ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġdescription , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfactory Ġ= Ġmain Pm Factory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Saver Factory Ġ= Ġobject Ġ: ĠP m State Saver Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Pm State Saver ( key : ĠString ): ĠP m State Saver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJson Pm State Saver ( mutable Map Of ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġmain Pm Factory . create Pm ( config ) Ġas ĠPM ĊĠĠĠ Ġ} Ċ }