package Ġcom . val d 3 n ir . smart _ energy . presentation . splash Ċ Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . val d 3 n ir . smart _ energy . common . core . Base ViewModel Ċ import Ġcom . val d 3 n ir . smart _ energy . domain . navigation . Screen Navigation Ċ import Ġcom . val d 3 n ir . smart _ energy . domain . use _ cases . auth . Auth UseCase Ċ import Ġcom . val d 3 n ir . smart _ energy . domain . use _ cases . sensor . Sensor UseCase Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠSpl ash ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġscreen Navigation : ĠScreen Navigation , ĊĠĠĠ Ġprivate Ġval Ġsensor UseCase : ĠSensor UseCase , ĊĠĠĠ Ġprivate Ġval Ġauth UseCase : ĠAuth UseCase , Ċ ) Ġ: ĠBase ViewModel () Ġ{ ĊĊĠĠĠ Ġfun Ġload AppConfig () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Delay ( callback Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading ( show Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠuserID Ġ= Ġauth UseCase . getUser ID () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( userID Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Navigation . redirectTo Login ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsensor UseCase . get Sensor List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserID Ġ= ĠuserID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ?. items . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Navigation . redirectTo Sensor Manager ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Navigation . redirectTo Home ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Message ( it ?. message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ