@ file : Jvm Name (" TopLevel ") Ċ Ċ package Ġbase . core xt resources . domain . toplevel Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Service Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Process Ċ import Ġandroid . util . Log Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . navigation . Nav Directions Ċ import Ġandroidx . navigation . Nav Options Ċ import Ġandroidx . navigation . Navigator Ċ import Ġarrow . core . Try Ċ import Ġbase . core xt resources . R Ċ import Ġbase . core xt resources . presentation . main . Base MainActivity Ċ import Ġcom . andro gn ito . flash bar . Flash bar Ċ import Ġbase . cor eres ources . Injector Ċ import Ġbase . cor eres ources . toplevel . Flash Bar Ċ import Ġbase . cor eres ources . toplevel . Intent Ċ import Ġbase . cor eres ources . toplevel . on Activity Ċ import Ġbase . core xt resources . presentation . main . Base Frag holder MainActivity Ċ import Ġkotlinx . serialization . Update Mode Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġkotlinx . serialization . json . Json Configuration Ċ import Ġorg . k oin . core . get Ċ import Ġsplit ties . init . app Ctx Ċ import Ġtim ber . log . Tim ber Ċ Ċ /** Ċ Ġ* ĠSet Ġthe Ġtitle Ġof Ġthe Ġactivity Ċ Ġ* Ġcurrently Ġin Ġforeground Ċ Ġ*/ Ċ var Ġactivity Title : ĠString ĊĠĠĠ Ġget () Ġ= Ġthrow ĠNotImplementedError () ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Activity Ġ{ Ġtitle Ġ= Ġvalue Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠShort Ġhand Ġsyntax Ġto Ġfetch Ġan Ġinstance Ġfrom Ċ Ġ* Ġthe ĠDI Ġcontainer Ċ Ġ*/ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > Ġk get (): ĠT Ġ= ĠInject or . get () Ċ Ċ /** Ċ Ġ* ĠHelper Ġused Ġto Ġnavigate Ġto Ġanother Ċ Ġ* Ġnavigation Ġdestination Ġor Ġaction Ċ Ġ*/ Ċ fun Ġnavigate ( directions : ĠNav Directions , Ġnav Options : ĠNav Options ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġval Ġoptions Ġ= Ġnav Options Ġ?: Ġandroidx . navigation . nav Options Ġ{ ĊĠĠĠĠĠĠĠ Ġanim Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenter Ġ= ĠR . anim . enter _ animation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexit Ġ= ĠR . anim . exit _ animation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpop Enter Ġ= ĠR . anim . enter _ animation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpop Exit Ġ= ĠR . anim . exit _ animation ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġnavigate On Main Ġ{ Ġnav Controller Ġ-> ĊĠĠĠĠĠĠĠ ĠTry Ġ{ Ġnav Controller . navigate ( directions , Ġoptions ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fold ( Tim ber . tag (" Navigation ") :: e ) Ġ{ ĠTim ber . tag (" Navigation "). i ("$ it ") Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠHelper Ġused Ġto Ġnavigate Ġto Ġanother Ċ Ġ* Ġnavigation Ġdestination Ġor Ġaction Ċ Ġ*/ Ċ fun Ġnavigate ( ĊĠĠĠ Ġdest : ĠInt , ĊĠĠĠ Ġargs : ĠBundle ? Ġ= Ġnull , ĊĠĠĠ Ġnav Options : ĠNav Options ? Ġ= Ġnull , ĊĠĠĠ Ġnavigator Extras : ĠNavigator . Extras ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġval Ġoptions Ġ= Ġnav Options Ġ?: Ġandroidx . navigation . nav Options Ġ{ ĊĠĠĠĠĠĠĠ Ġanim Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenter Ġ= ĠR . anim . enter _ animation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexit Ġ= ĠR . anim . exit _ animation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpop Enter Ġ= ĠR . anim . enter _ animation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpop Exit Ġ= ĠR . anim . exit _ animation ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġnavigate On Main Ġ{ Ġnav Controller Ġ-> ĊĠĠĠĠĠĠĠ ĠTry Ġ{ Ġnav Controller . navigate ( dest , Ġargs , Ġoptions , Ġnavigator Extras ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fold ( Tim ber . tag (" Navigation ") :: e ) Ġ{ ĠTim ber . tag (" Navigation "). i ("$ it ") Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠBlock Ġused Ġto Ġexecute Ġa Ġnavigation Ġfunction Ċ Ġ* Ġon Ġall Ġavailable Ġinstances Ġof ĠActiv ities Ċ Ġ* Ġwith Ġa Ġnav Controller Ġattached Ġto Ċ Ġ*/ Ċ private Ġfun Ġnavigate On Main ( block : Ġ( controller : ĠNav Controller ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġon Activity < Base MainActivity > Ġ{ Ġblock ( nav Controller ) Ġ} ĊĠĠĠ Ġon Activity < Base Frag holder MainActivity > Ġ{ Ġblock ( nav Controller ) Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠNavigate Ġto Ġthe Ġgiving Ġlocation Ġpop ping Ġout Ġall Ġback stack Ċ Ġ* Ġdest inations Ġin Ġbetween Ċ Ġ*/ Ċ fun Ġnavigate Pop ping (@ Id Res Ġdestination : ĠInt , Ġargs : ĠBundle ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġval Ġnav Options Ġ= ĠNav Options ĊĠĠĠĠĠĠĠ Ġ. Builder () ĊĠĠĠĠĠĠĠ Ġ. set Pop Up To ( destination , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġnavigate ( destination , Ġargs , Ġnav Options ) Ċ } Ċ Ċ /** ĠShow Ġa Ġflash bar Ġsn ackbar Ġwith Ġa Ġyellow Ġgradient Ġbackground Ġ*/ Ċ fun Ġshow Warning Flash Bar ( ĊĠĠĠ Ġmessage : ĠString Ġ= Ġ"", ĊĠĠĠ Ġduration : ĠInt Ġ= Ġ 1 5 0 0 , ĊĠĠĠ Ġgravity : ĠFlash bar . Gravity Ġ= ĠFlash bar . Gravity . TOP , ĊĠĠĠ Ġcontext : ĠActivity ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġmessage Builder ( act : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ ĠFlash Bar . show ( act , Ġmessage , Ġduration , Ġgravity ) Ġ{ Ġbackground Drawable ( R . drawable . bg _ gradient _ yellow ) Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġcontext ?. let (:: message Builder ) Ġ?: Ġon Activity (:: message Builder ) Ċ } Ċ Ċ /** ĠShow Ġa Ġflash bar Ġsn ack Ġwith Ġthe Ġdefault Ġbackground Ġand Ġbottom Ġgravity Ġ*/ Ċ fun Ġshow Flash Snackbar ( message : ĠString , Ġduration : ĠInt Ġ= Ġ 1 0 0 0 , Ġcontext : ĠActivity ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġfun Ġmessage Builder ( act : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ ĠFlash Bar . show ( act , Ġmessage , Ġduration , ĠFlash bar . Gravity . BOTTOM ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcontext ?. let (:: message Builder ) Ġ?: Ġon Activity (:: message Builder ) Ċ } Ċ Ċ /** Ċ Ġ* ĠLog Ġthe Ġgiven Ġvalue Ġusing Ġthe Ġlogging Ċ Ġ* Ġtag ĠLOG EXEC UTION Ġand Ġreturn Ġthe Ġparameter Ċ Ġ*/ Ċ fun Ġ< T > Ġlog Execution ( value : ĠT ): ĠT Ġ{ ĊĠĠĠ ĠTim ber . tag (" LOG EXEC UTION "). i ("$ value ") ĊĠĠĠ Ġreturn Ġvalue Ċ } Ċ Ċ /** Ċ Ġ* ĠStart Ġthe Ġgiven Ġservice Ġpassing Ġan Ġoptional Ċ Ġ* Ġlist Ġof Ġparameters Ġto Ġbe Ġinserted Ġinto Ġthe Ċ Ġ* Ġintent 's Ġbundle Ċ Ġ*/ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠService > Ġstart Service ( var arg Ġbundle Extras : ĠPair < String , ĠAny ?> ) Ġ{ ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent < T >( app Ctx ) ĊĠĠĠ Ġintent . put Extras ( bundle Of (* bundle Extras )) ĊĠĠĠ Ġapp Ctx . start Service ( intent ) Ċ } Ċ Ċ /** Ċ Ġ* ĠFinish Ġthe Ġcurrent Ġapplication , Ġk illing Ċ Ġ* Ġthe Ġprocess Ġand Ġrestart ing Ġit Ġfrom Ġscratch Ċ Ġ* Ġon Ġthe Ġnext Ġrestart Ċ Ġ*/ Ċ fun Ġkill App () Ġ{ ĊĠĠĠ ĠProcess . kill Process ( Process . my Pid ()) Ċ } Ċ Ċ /** Ċ Ġ* ĠObject Ġused Ġto Ġserialize Ġand Ġdeserialize Ċ Ġ* ĠJSON ĠStrings Ġinto ĠKotlin Ġobjects Ċ Ġ*/ Ċ val ĠNX Json Ġ= ĠJson ( Json Configuration ( ĊĠĠĠ Ġencode Defaults Ġ= Ġfalse , ĊĠĠĠ Ġignore Unknown Keys Ġ= Ġtrue , ĊĠĠĠ Ġis Len ient Ġ= Ġtrue , ĊĠĠĠ Ġserialize Special Floating Point Values Ġ= Ġtrue , ĊĠĠĠ Ġallow Structured Map Keys Ġ= Ġfalse , ĊĠĠĠ Ġpretty Print Ġ= Ġtrue , ĊĠĠĠ Ġun quoted Print Ġ= Ġfalse , ĊĠĠĠ Ġindent Ġ= Ġ"", ĊĠĠĠ Ġuse Array Pol ym orphism Ġ= Ġtrue , ĊĠĠĠ Ġupdate Mode Ġ= ĠUpdate Mode . OVER WRITE Ċ ))