/* ĠAuthor Ġ- ĠA yk ut ĠAs il (@ ay k utt as il ) Ġ*/ Ċ package Ġcom . ay k utt as il . sweet loc . ui . activity . login Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . ay k utt as il . android basic helper lib . Ui Helper Ċ import Ġcom . ay k utt as il . sweet loc . R Ċ import Ġcom . ay k utt as il . sweet loc . data . Resource Ċ import Ġcom . ay k utt as il . sweet loc . databinding . Activity Login Layout Binding Ċ import Ġcom . ay k utt as il . sweet loc . di . ViewModel Factory Ċ import Ġcom . ay k utt as il . sweet loc . ui . activity . base . Base Activity Ċ import Ġcom . ay k utt as il . sweet loc . ui . activity . main . MainActivity Ċ import Ġcom . ay k utt as il . sweet loc . util . extension . bind Ċ import Ġcom . ay k utt as il . sweet loc . util . extension . setup Toolbar Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġkotlinx . android . synt hetic . main . activity _ login _ layout .* Ċ import Ġjavax . inject . Inject Ċ Ċ open Ġclass ĠLogin Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Factory ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlogin ViewModel : ĠLogin ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Toolbar () ĊĊĠĠĠĠĠĠĠ Ġlogin ViewModel Ġ= ĠViewModel Providers . of ( this @ Login Activity , ĠviewModel Factory ). get ( Login ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= Ġbind < Activity Login Layout Binding >( R . layout . activity _ login _ layout ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Owner Ġ= Ġthis @ Login Activity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview model Ġ= Ġlogin ViewModel ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlogin ViewModel . live Snackbar . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view , Ġit Ġ?: Ġ"", ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġlogin ViewModel . live Ok Dialog . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUi Helper . Ui Dialog . newInstance ( this ). get OK Dialog ( it . title , Ġit . content , Ġit . icon ). show () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġlogin ViewModel . live Login . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Status . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this @ Login Activity , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Status . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogin ViewModel . live Ok Dialog . value Ġ= Ġit . error Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġsetup Toolbar ( R . id . toolbar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" S weet Loc " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġmove Task To Back ( true ) ĊĠĠĠ Ġ} Ċ } Ċ