package Ġcom . learn . todo app . presentation . login Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . learn . todo app . R Ċ import Ġcom . learn . todo app . databinding . Login Fragment Binding Ċ import Ġcom . learn . todo app . presentation . base . Base Fragment Ċ import Ġcom . learn . todo app . presentation . utils . hide Keyboard Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠLogin Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠLogin ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠLogin Fragment Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠLogin Fragment Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ Ġactivity ?. title Ġ= ĠgetString ( R . string . login _ title ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Observer s () ĊĠĠĠĠĠĠĠ Ġbinding . bt Submit . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. hide Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . login ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . et Email Id . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . et Password Id . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Observer s () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Base Observer ( viewModel ) ĊĠĠĠĠĠĠĠ ĠviewModel . get LoggedIn LiveData (). observe ( view Lifecycle Owner ) Ġ{ Ġis LoggedIn Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Home ( is LoggedIn ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate To Home ( logged In : ĠBoolean ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( logged In Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠLogin Fragment Directions . action Login Fragment To Home Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( action ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }