package Ġcom . android . it rip . view Models Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . android . it rip . dependency Injection . Context Module Ċ import Ġcom . android . it rip . dependency Injection . D agger Api Component Ċ import Ġcom . android . it rip . models . Via je Ċ import Ġcom . android . it rip . services . Travel Service Ċ import Ġcom . android . it rip . util . ApiError Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠHome ViewModel ( ĊĠĠĠ Ġapplication : ĠApplication , ĊĠĠĠ Ġsuccess Callback : Ġ( List < Via je >) Ġ-> ĠUnit , ĊĠĠĠ Ġfailure Callback : Ġ( ApiError ) Ġ-> ĠUnit Ċ ) Ġ: ĊĠĠĠ ĠAndroid ViewModel ( application ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ via jes Ġ= ĠMutable LiveData < List < Via je >>() ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġtravel Service : ĠTr avel Service ĊĠĠĠ Ġval Ġvia jes : ĠLive Data < List < Via je >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ via jes ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠD agger Api Component . builder (). context Module ( Context Module ( getApplication ())). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inject Home ViewModel ( this ) ĊĠĠĠĠĠĠĠ Ġget Travel s ( success Callback , Ġfailure Callback ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Travel s ( ĊĠĠĠĠĠĠĠ Ġsuccess Callback : Ġ( List < Via je >) Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġfailure Callback : Ġ( ApiError ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtravel Service . get Travel s ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ via jes . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess Callback ( it ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġfailure Callback ( it ) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Travel ( ĊĠĠĠĠĠĠĠ Ġtravel : ĠV ia je , ĊĠĠĠĠĠĠĠ Ġdelete Travel Success : Ġ() Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġdelete Travel Failure : Ġ( ApiError ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtravel Service . delete Trip ( travel , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ via jes . value Ġ= Ġ_ via jes . value ?. filter Ġ{ Ġit Ġ!= Ġtravel Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Travel Success () ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Travel Failure ( error ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Travel s (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvia jes . value ?. isNotEmpty () Ġ?: Ġfalse ĊĠĠĠ Ġ} Ċ }