package Ġpl . jak ub ok ras a . b iker out es . features . ui _ features . shared routes . presentation Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . had il q . live event . Live Event Ċ import Ġpl . jak ub ok ras a . b iker out es . core . base . presentation . Base ViewModel Ċ import Ġpl . jak ub ok ras a . b iker out es . features . filter . domain . Get Geo coding Item UseCase Ċ import Ġpl . jak ub ok ras a . b iker out es . features . filter . domain . model . Filter Data Ċ import Ġpl . jak ub ok ras a . b iker out es . features . filter . presentation . model . Geo coding Item Display able Ċ import Ġpl . jak ub ok ras a . b iker out es . features . points . domain . Get Points From Remote UseCase Ċ import Ġpl . jak ub ok ras a . b iker out es . features . points . presentation . model . Point Display able Ċ import Ġpl . jak ub ok ras a . b iker out es . features . routes . presentation . model . Route Display able Ċ import Ġpl . jak ub ok ras a . b iker out es . features . ui _ features . shared routes . domain . Get Shared Routes UseCase Ċ import Ġpl . jak ub ok ras a . b iker out es . features . ui _ features . shared routes . domain . Get Shared Routes With Filter UseCase Ċ import Ġpl . jak ub ok ras a . b iker out es . features . ui _ features . shared routes . navigation . Shared Routes Navigator Ċ Ċ class ĠShared Routes ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġget Shared Routes UseCase : ĠGet Shared Routes UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Shared Routes With Filter UseCase : ĠGet Shared Routes With Filter UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Points From Remote UseCase : ĠGet Points From Remote UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Geo coding Item UseCase : ĠGet Geo coding Item UseCase , ĊĠĠĠ Ġprivate Ġval Ġshared Routes Navigator : ĠShared Routes Navigator , Ċ ): ĠBase ViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ shared Routes Ġby Ġlazy Ġ{ ĠMutable LiveData < List < Route Display able >>() Ġ} ĊĠĠĠ Ġprivate Ġval Ġ_ is Filter Ġby Ġlazy Ġ{ ĠMutable LiveData < Boolean >() Ġ} ĊĠĠĠ Ġprivate Ġval Ġ_ geo coding Item Ġby Ġlazy Ġ{ ĠLive Event < Geo coding Item Display able >() Ġ} ĊĠĠĠ Ġoverride Ġval ĠLOG _ TAG : ĠString Ġ= ĠShared Routes ViewModel :: class . simple Name ?: Ġ" unknown " ĊĊĠĠĠ Ġval Ġshared Routes : ĠLive Data < List < Route Display able >> Ġby Ġlazy Ġ{ Ġ_ shared Routes Ġ} ĊĠĠĠ Ġval Ġis Filter : ĠLive Data < Boolean > Ġby Ġlazy Ġ{ Ġ_ is Filter Ġ} ĊĠĠĠ Ġval Ġgeo coding Item : ĠLive Data < Geo coding Item Display able > Ġby Ġlazy Ġ{ Ġ_ geo coding Item Ġ} ĊĊĠĠĠ Ġfun Ġget Shared Routes With Filter ( filter Data : ĠFilter Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Pending State () ĊĠĠĠĠĠĠĠ Ġget Shared Routes With Filter UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= Ġfilter Data , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope Ġ= ĠviewModel Scope ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Idle State () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ shared Routes . value Ġ= Ġit . map Ġ{ Ġroute Ġ-> Ġ ĠRoute Display able ( route ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Filter . value Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Success (" get Shared Routes With Filter ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Failure (" get Shared Routes With Filter ", Ġ" co ul dn 't Ġfilter Ġthe Ġroutes ", Ġerr Log Ġ= Ġit . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Shared Routes () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Pending State () ĊĠĠĠĠĠĠĠ Ġget Shared Routes UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= ĠUnit , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope Ġ= ĠviewModel Scope ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Idle State () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ shared Routes . value Ġ= Ġit . map Ġ{ Ġroute Ġ-> Ġ ĠRoute Display able ( route ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ is Filter . value Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Success (" get Shared Routes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Failure (" get Shared Routes ", Ġ" co ul dn 't Ġget Ġroutes ", Ġerr Log Ġ= Ġit . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Points From Remote And Open Route Details F rg ( route : ĠRoute Display able ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Pending State () ĊĠĠĠĠĠĠĠ Ġget Points From Remote UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= Ġroute . route Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope Ġ= ĠviewModel Scope ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Idle State () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Success (" get Points From Remote ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Routes Navigator . open Route Details Fragment ( route , Ġit . map Ġ{ Ġpoint Ġ-> ĠPoint Display able ( point ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Failure Ġ{ Ġhandle Failure (" get Points From Remote ", Ġ" co ul dn 't Ġdisplay Ġthe Ġroute ", Ġerr Log Ġ= Ġit . message ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Geo coding Item ( query : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Geo coding Item UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= Ġquery , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscope Ġ= ĠviewModel Scope ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Success (" get Geo coding Item ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ geo coding Item . value Ġ= ĠGeo coding Item Display able ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . on Failure Ġ{ Ġhandle Failure (" get Geo coding Item ", Ġ" co ul dn 't Ġfilter Ġby Ġlocation ", Ġerr Log Ġ= Ġit . message ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠLOG _ TAG Ġ= ĠShared Routes ViewModel :: class . simple Name ĊĠĠĠ Ġ} Ċ }