package Ġcom . me te han bol at . te kn of este git im . view . main views . art ificial int elligence . ai education Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . activity . On Back Pressed Callback Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . auth . k tx . auth Ċ import Ġcom . google . firebase . firestore . Firebase Fire store Ċ import Ġcom . google . firebase . firestore . k tx . firestore Ċ import Ġcom . google . firebase . k tx . Firebase Ċ import Ġcom . me te han bol at . te kn of este git im . R Ċ import Ġcom . me te han bol at . te kn of este git im . databinding . Fragment Education One Binding Ċ Ċ class ĠEducation One Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ binding Ġ: ĠFragment Education One Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĠĠĠ Ġprivate Ġvar Ġedu Control Ġ: ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnav Controller : ĠNav Controller ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġauth Ġ: ĠFirebase Auth ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfire store Ġ: ĠFirebase Fire store ĊĠĠĠ Ġprivate Ġvar Ġuser Coin Ġ: ĠAny ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlearning One Ġ: ĠAny ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?, ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Education One Binding . inflate ( in flater , container , false ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġbinding . root ĊĊĠĠĠĠĠĠĠ Ġrequire Activity (). window . status Bar Color Ġ= ĠContext Compat . getColor ( require Context (), R . color . fragment _ education _ background ) ĊĊĠĠĠĠĠĠĠ Ġauth Ġ= ĠFirebase . auth ĊĠĠĠĠĠĠĠ Ġfire store Ġ= ĠFirebase . firestore ĊĊĠĠĠĠĠĠĠ ĠgetData Fun ( auth . currentUser !!. email . toString (), Ġview ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġauth Ġ= ĠFirebase . auth ĊĠĠĠĠĠĠĠ Ġfire store Ġ= ĠFirebase . firestore ĊĊĠĠĠĠĠĠĠ Ġbinding . education One Button Two . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( edu Control ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . education One Image . setImage Drawable ( Context Compat . get Drawable ( require Context (), R . drawable . father _ ai )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . education One Info Two . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedu Control Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . education One Image . setImage Drawable ( Context Compat . get Drawable ( require Context (), R . drawable . ai _ data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . education One Info Three . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedu Control Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . education One Image . setImage Drawable ( Context Compat . get Drawable ( require Context (), R . drawable . ai _ skills )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . education One Info Four . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . education One Button Two . text Ġ= Ġresources . getString ( R . string . back ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedu Control Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( learning One !! Ġ== Ġresources . getString ( R . string . true _ ai )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( it , Ġresources . getString ( R . string . aw ards _ already _ collected _ ai ), ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠgetData Ġ= Ġfire store . collection ( resources . getString ( R . string . firebase _ userData )). document ( auth . currentUser !!. email . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Coin Int Ġ: ĠInt Ġ= Ġuser Coin . toString (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Coin Ġ: ĠInt Ġ= Ġuser Coin Int Ġ+ Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetData . update ( resources . getString ( R . string . ai _ learning _ one ), resources . getString ( R . string . true _ ai ), resources . getString ( R . string . firebase _ user Coin ), new Coin ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( it , Ġresources . getString ( R . string . ear n _ ten _ gold ), ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller Ġ= Ġfind Nav Controller () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( R . id . action _ education One _ to _ main Education ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcallback Ġ= Ġobject Ġ: ĠOn Back Pressed Callback ( true ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle On Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller Ġ= Ġfind Nav Controller () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( R . id . action _ education One _ to _ main Education ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequire Activity (). on Back Pressed Dispatcher . add Callback ( callback ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetData Fun ( mail Ġ: ĠString , Ġview Ġ: ĠView ){ ĊĊĠĠĠĠĠĠĠ Ġval Ġget UserData Ġ= Ġfire store . collection ( resources . getString ( R . string . firebase _ userData )). document ( mail ) ĊĠĠĠĠĠĠĠ Ġget UserData . get (). add On Success Listener Ġ{ Ġdocument Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( document Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( document . data Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlearning One Ġ= Ġdocument . data ! ![ resources . getString ( R . string . firebase _ ai Learning One )] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Coin Ġ= Ġdocument . data ! ![ resources . getString ( R . string . firebase _ user Coin )] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view , Ġresources . getString ( R . string . no _ user _ data ), ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view , Ġit . toString (), ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }