package Ġcom . te ph ra . mc . whats up doc . ui . login Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . te ph ra . mc . whats up doc . R Ċ import Ġcom . te ph ra . mc . whats up doc . data . model . User Ċ import Ġcom . te ph ra . mc . whats up doc . data . repository . Resource Ċ import Ġcom . te ph ra . mc . whats up doc . data . repository . Status Ċ import Ġcom . te ph ra . mc . whats up doc . databinding . Activity Login Binding Ċ import Ġcom . te ph ra . mc . whats up doc . ui . base . Base Activity Ċ import Ġcom . te ph ra . mc . whats up doc . ui . successful . login . Successful Login Activity Ċ Ċ class ĠLogin Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlogin ViewModel : ĠLogin ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġsetup ViewModel () ĊĠĠĠĠĠĠĠ ĠsetUp Data Binding ( R . layout . activity _ login ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup ViewModel () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġlogin ViewModel Ġ= ĠViewModel Providers . of ( this , ĠviewModel Factory )[ Login ViewModel :: class . java ] ĊĊĠĠĠĠĠĠĠ Ġlogin ViewModel . login Response . observe ( this , ĠObserver < Resource < User >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Login Response ( it !! ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Data Binding ( layout Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Login Binding : ĠActivity Login Binding Ġ= ĠData Binding Util . set ContentView ( this , Ġlayout Id ) ĊĠĠĠĠĠĠĠ Ġactivity Login Binding . viewModel Ġ= Ġlogin ViewModel ĊĊĠĠĠĠĠĠĠ Ġactivity Login Binding . set Lifecycle Owner ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprocess Login Response ( resource : ĠResource < User >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( resource . status Ġ== ĠStatus . SUCCESS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠSuccessful Login Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠgetString ( R . string . login _ error _ txt ) Ġ+ Ġ" Ġ" Ġ+ Ġresource . message , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ