/** Ċ Ġ* Ġ( C ) ĠCopyright Ġ 2 0 1 9 ĠI ld ar ĠI shal in Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ package Ġk z . ild ar . sandbox . ui . main Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġkotlinx . android . synt hetic . main . item _ main _ button .* Ċ import Ġk z . ild ar . sandbox . R Ċ import Ġk z . ild ar . sandbox . utils . Display Item Ċ import Ġk z . ild ar . sandbox . utils . Display ViewHolder Ċ import Ġk z . ild ar . sandbox . utils . Event Wrapper Ċ import Ġk z . ild ar . sandbox . utils . ext . post Ċ import Ġk z . ild ar . sandbox . utils . wrap Event Ċ Ċ class ĠMain ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġaction List LiveData : ĠLive Data < List < Main Button Display >> Ġ= ĠMutable LiveData ( ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" St ories ") Ġ{ Ġaction ( Main Nav Action . OPEN _ STOR IES ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Memory ĠTraining ") Ġ{ Ġaction ( Main Nav Action . OPEN _ MEMORY _ TRAIN ING ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Play ground ") Ġ{ Ġaction ( Main Nav Action . OPEN _ PLAY GROUND ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Child ") Ġ{ Ġaction ( Main Nav Action . OPEN _ CHILD ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Rain bow ") Ġ{ Ġaction ( Main Nav Action . OPEN _ R AIN BO W ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Rain bow Ġ 2 ") Ġ{ Ġaction ( Main Nav Action . OPEN _ R AIN BO W 2 ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Hello Ġrequests ") Ġ{ Ġaction ( Main Nav Action . OPEN _ HEL LO ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Websocket ") Ġ{ Ġaction ( Main Nav Action . OPEN _ WEB SOCKET ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Prox imity Ġsensor ") Ġ{ Ġaction ( Main Nav Action . OPEN _ MOT ION ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Mult ic all ") Ġ{ Ġaction ( Main Nav Action . OPEN _ MULT IC ALL ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Color Ġpicker ") Ġ{ Ġaction ( Main Nav Action . OPEN _ COLOR ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Color Ġlist ") Ġ{ Ġaction ( Main Nav Action . OPEN _ COLOR _ LIST ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Button Display (" Touch Ġpanel ") Ġ{ Ġaction ( Main Nav Action . OPEN _ TO UCH _ PANEL ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġaction Event LiveData Ġ= ĠMutable LiveData < Event Wrapper < Main Nav Action >>() ĊĊĠĠĠ Ġprivate Ġfun Ġaction ( action : ĠMain Nav Action ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction Event LiveData Ġpost Ġaction . wrap Event () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠMain Button Display ( ĊĠĠĠ Ġval Ġtext : ĠString , ĊĠĠĠ Ġval Ġclick : Ġ() Ġ-> ĠUnit Ċ ) Ġ: ĠDisplay Item ( R . layout . item _ main _ button ) Ġ{ ĊĠĠĠ Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠDisplay ViewHolder < Main Button Display >( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind ( item : ĠMain Button Display ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ button _ text . text Ġ= Ġitem . text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ button _ text . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . click () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠMain Nav Action Ġ{ ĊĠĠĠ ĠOPEN _ STOR IES , ĊĠĠĠ ĠOPEN _ CHILD , ĊĠĠĠ ĠOPEN _ MEMORY _ TRAIN ING , ĊĠĠĠ ĠOPEN _ PLAY GROUND , ĊĠĠĠ ĠOPEN _ R AIN BO W , ĊĠĠĠ ĠOPEN _ R AIN BO W 2 , ĊĠĠĠ ĠOPEN _ HEL LO , ĊĠĠĠ ĠOPEN _ WEB SOCKET , ĊĠĠĠ ĠOPEN _ MOT ION , ĊĠĠĠ ĠOPEN _ MULT IC ALL , ĊĠĠĠ ĠOPEN _ COLOR , ĊĠĠĠ ĠOPEN _ COLOR _ LIST , ĊĠĠĠ ĠOPEN _ TO UCH _ PANEL , Ċ } Ċ