/**************************************************************** ************************ ****** Ċ Copyright Ġ( C ) Ġ 2 0 2 1 ĠNor bert ĠTr uch sess Ġnor bert . tr uch sess @ t - online . de Ċ Ċ This Ġprogram Ġis Ġfree Ġsoftware : Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ it Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ġby Ċ the ĠFree ĠSoftware ĠFoundation , Ġeither Ġversion Ġ 3 Ġof Ġthe ĠLicense , Ġor Ċ ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ċ This Ġprogram Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ but ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ MER CHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ GNU ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ċ You Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ along Ġwith Ġthis Ġprogram . Ġ ĠIf Ġnot , Ġsee Ġ< http :// www . gnu . org / licenses />. Ċ Ġ***************************************************************** ************************ *****/ Ċ Ċ package Ġme . h uf man . android aut oid rive . phone ui . view models Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġme . h uf man . android aut oid rive . ev planning . Routing Data Ċ Ċ class ĠEV Pl anning Data ViewModel (): ĠViewModel () Ġ{ Ċ ĉ class ĠFactory ( val Ġcontext : ĠContext ) Ġ: ĠViewModel Provider . Factory Ġ{ Ċĉ ĉ @ Suppress (" UN CHECK ED _ CAST ") Ċĉ ĉ override Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ Ċĉĉ ĉ return ĠEV Pl anning Data ViewModel () Ġas ĠT Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ comp anion Ġobject Ġ{ Ċĉ ĉ private Ġval Ġ_ route Data Ġ= ĠMutable LiveData < Routing Data >() Ċĉ ĉ fun Ġset Routing Data ( routing Data : ĠRouting Data ) Ġ{ Ċĉĉ ĉ _ route Data . post Value ( routing Data ) Ċĉ ĉ } Ċĉ ĉ private Ġval Ġ_ status Ġ= ĠMutable LiveData < String >() Ċĉ ĉ fun ĠsetStatus ( status : ĠString ) Ġ{ Ċĉĉ ĉ _ status . post Value ( status ) Ċĉ ĉ } Ċĉ ĉ private Ġval Ġ_ car data Updates Ġ= ĠMutable LiveData < Int >() Ċĉ ĉ fun Ġset Car data Updates ( updates : ĠInt ) Ġ{ Ċĉĉ ĉ _ car data Updates . post Value ( updates ) Ċĉ ĉ } Ċĉ ĉ private Ġval Ġ_ error Ġ= ĠMutable LiveData < String >() Ċĉ ĉ fun ĠsetError ( error : ĠString ) Ġ{ Ċĉĉ ĉ _ error . post Value ( error ) Ċĉ ĉ } Ċĉ ĉ private Ġval Ġ_ car app Debug Ġ= ĠMutable LiveData < String >() Ċĉ ĉ fun Ġset Car data Debug ( debug : ĠString ) Ġ{ Ċĉĉ ĉ _ car app Debug . post Value ( debug ) Ċĉ ĉ } Ċĉ ĉ private Ġval Ġ_ max Speed Ġ= ĠMutable LiveData < Double ?> () Ċĉ ĉ fun Ġset Max Speed ( max Speed : ĠDouble ?) Ġ{ Ċĉĉ ĉ _ max Speed . post Value ( max Speed ) Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ val Ġroute Data : ĠLive Data < Routing Data > Ġ= Ġ_ route Data Ċ ĉ val Ġstatus : ĠLive Data < String > Ġ= Ġ_ status Ċ ĉ val Ġcar data Updates : ĠLive Data < Int > Ġ= Ġ_ car data Updates Ċ ĉ val Ġerror : ĠLive Data < String > Ġ= Ġ_ error Ċ ĉ val Ġcar app Debug : ĠLive Data < String > Ġ= Ġ_ car app Debug Ċ ĉ val Ġmax Speed : ĠLive Data < Double ?> Ġ= Ġ_ max Speed Ċ }