package Ġcom . example . solar system clean . presentation . ui . splash Ċ Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . example . data . remote . dto . User DTO Ċ import Ġcom . example . solar system clean . domain . use case . User UseCase Ċ import Ġcom . example . solar system clean . presentation . common . Base ViewModel Ċ import Ġcom . example . solar system clean . presentation . ui . main . MainActivity Ċ import Ġcom . example . solar system clean . util . open Activity Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . k oin . core . component . K oin Component Ċ import Ġorg . k oin . core . component . inject Ċ Ċ class ĠSpl ash ViewModel Ġ: ĠBase ViewModel < Splash ViewState >(), ĠK oin Component Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġuser UseCase : ĠUser UseCase Ġby Ġinject () ĊĊĠĠĠ Ġvar Ġname Ġ= ĠMutable LiveData < String >() ĊĠĠĠ Ġvar Ġuser Ġ= ĠUser DTO ( 0 , Ġ"", Ġ"", Ġ"") ĊĊĠĠĠ Ġfun Ġsave User () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( name . value . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Nome ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ViewState ( Splash ViewState . loading State ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser . name Ġ= Ġname . value . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoroutine Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pref Helper . getLast User Session () Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser UseCase . invoke ( user ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġredirect To Home () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ViewState ( Splash ViewState . splash Success ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref Helper . set Last User Session ( Gson (). toJson ( user )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġredirect To Home () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġredirect To Home () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . open Activity < MainActivity >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġverify User Logged () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( pref Helper . getLast User Session () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġredirect To Home () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Preferences Helper () Ġ= Ġpref Helper Ċ }