package Ġcom . n aram . party _ project Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . view . animation . Animation Utils Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . room . Room Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . database . Firebase Database Ċ import Ġcom . n aram . party _ project . base . Base Activity Ċ import Ġcom . n aram . party _ project . callback . Profile Ċ import Ġcom . n aram . party _ project . databinding . Activity Main Binding Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ T END ENCY Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USER Ċ import Ġjava . lang . Exception Ċ Ċ import Ġcom . n aram . party _ project . databinding . Activity Sign in Binding Ċ import Ġcom . n aram . party _ project . util . Const . Companion . TAG _ T END ENCY _ GAME _ MODE Ċ import Ġcom . n aram . party _ project . util . Const . Companion . TAG _ T END ENCY _ PREFERRED _ G ENDER _ M EN Ċ import Ġcom . n aram . party _ project . util . Const . Companion . TAG _ T END ENCY _ PREFERRED _ G ENDER _ W OM EN Ċ import Ġcom . n aram . party _ project . util . Const . Companion . TAG _ T END ENCY _ P URPOSE Ċ import Ġcom . n aram . party _ project . util . Const . Companion . TAG _ T END ENCY _ VOICE Ċ import Ġcom . n aram . party _ project . util . Const . Companion . processing T end ency Ċ import Ġcom . n aram . party _ project . model . Game Ċ import Ġcom . n aram . party _ project . model . T end ency Ċ import Ġcom . n aram . party _ project . model . User Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 0 _ LO L Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 1 _ OVER _ WATCH Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 2 _ B ATT LE _ GROUND Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 3 _ SU DD EN _ ATT ACK Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 4 _ FI FA _ ON LINE _ 4 Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 5 _ LO ST _ ARK Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 6 _ MAP LE _ ST ORY Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 7 _ CY P HER S Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 8 _ STAR _ CR AFT Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ GAME _ 9 _ D UN GE ON _ AND _ F IGHT ER Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ T END ENCY _ GAME _ MODE Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ T END ENCY _ PREFERRED _ G ENDER _ M EN Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ T END ENCY _ PREFERRED _ G ENDER _ W OM EN Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ T END ENCY _ P URPOSE Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ T END ENCY _ VOICE Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USERS Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USER _ EMAIL Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USER _ GAME _ NAME Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USER _ G ENDER Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USER _ NAME Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USER _ PI CTURE Ċ import Ġcom . n aram . party _ project . util . Const . Companion . FIRE BASE _ USER _ SELF _ PR Ċ import Ġkotlinx . coroutines .* Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ class ĠSign in Activity Ġ: ĠBase Activity < Activity Sign in Binding >({ ĊĠĠĠ ĠActivity Sign in Binding . inflate ( it ) Ċ }) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Sign ĠIn " ĊĊĠĠĠ Ġprivate Ġvar Ġprofile : ĠProfile ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġfirebase Auth : ĠFirebase Auth ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġtmp Email Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Name Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game Name Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Gender Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Picture Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Self PR Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Purpose Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Voice Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Men Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp W omen Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game Mode Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 0 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 1 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 2 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 3 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 4 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 5 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 6 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 7 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 8 Ġ: ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtmp Game 9 Ġ: ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġtend ency Ġ= ĠlistOf < String >() ĊĠĠĠ Ġvar Ġgame Int List Ġ= ĠlistOf < Int >() ĊĠĠĠ Ġval Ġgames Ġ= Ġmutable ListOf < Boolean >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġinit Views () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Views () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbinding . btn User Sign in . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Email Ġ= Ġbinding . et Sign in User Email . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser PW Ġ= Ġbinding . et Sign in User PW . text . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Email . isEmpty () Ġ|| Ġuser PW . isEmpty ()) Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Firebase Auth ( user Email , Ġuser PW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . tv Find Account . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠFind Account Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . tv User Signup . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠSign up Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Firebase Auth ( userID : ĠString , Ġuser PW : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfirebase Auth Ġ= ĠFirebase Auth . getInstance () ĊĠĠĠĠĠĠĠ Ġfirebase Auth !!. signIn With Email And Password ( userID , Ġuser PW ). add On Complete Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserInfo () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" ìĿ´ ë© Ķ ìĿ¼ Ġíĺ ¹ ìĿĢ Ġë¹Ħ ë° Ģ ë²Ī íĺ¸ ê°Ģ Ġìŀ ĺ ëª » ëĲĺ ìĹĪ ìĬµëĭĪëĭ¤ .", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ add On Complete Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠuserInfo () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġuid Ġ= ĠFirebase Auth . getInstance (). currentUser ?. uid ĊĠĠĠĠĠĠĠ Ġval Ġemail Ġ= ĠFirebase Auth . getInstance (). currentUser ?. email ĊĊĠĠĠĠĠĠĠ Ġshow Progress bar ( true ) ĊĠĠĠĠĠĠĠ Ġget Firebase Data ( uid !! ) ĊĊĠĠĠĠĠĠĠ ĠHandler ( Looper . get Main Looper ()). post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Result () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress bar ( false ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ 3 0 0 0 ) Ċ Ċ // ĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġget Firebase Data ( uid !! ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠgetData ( email !! ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġshow Result () Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Firebase Data ( uid Ġ: ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġm Database Reference Ġ= ĠFirebase Database . getInstance (). reference . child ( FIRE BASE _ USERS ). child ( uid ) ĊĊĠĠĠĠĠĠĠ Ġm Database Reference . child ( FIRE BASE _ USER ). get (). add On Success Listener Ġ{ Ġdata Snapshot Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Snapshot . children . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it . key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ USER _ EMAIL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Email Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" ë¡ľ ê·¸ ìĿ¸ ĠìĦ± ê³µ Ġ: Ġ$ tmp Email ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ USER _ NAME Ġ-> Ġtmp Name Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ USER _ G ENDER Ġ-> Ġtmp Gender Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ USER _ PI CTURE Ġ-> Ġtmp Picture Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ USER _ GAME _ NAME Ġ-> Ġtmp Game Name Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ USER _ SELF _ PR Ġ-> Ġtmp Self PR Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" ë¡ľ ê·¸ ìĿ¸ Ġìĭ¤ íĮ ¨ Ġ: Ġ${ it . printStackTrace () }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Database Reference . child ( FIRE BASE _ T END ENCY ). get (). add On Success Listener Ġ{ Ġdata Snapshot Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Snapshot . children . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it . key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ T END ENCY _ P URPOSE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Purpose Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" t end ency Ġis Ġ$ tmp Purpose ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ T END ENCY _ VOICE Ġ-> Ġtmp Voice Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ T END ENCY _ PREFERRED _ G ENDER _ M EN Ġ-> Ġtmp Men Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ T END ENCY _ PREFERRED _ G ENDER _ W OM EN Ġ-> Ġtmp W omen Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ T END ENCY _ GAME _ MODE Ġ-> Ġtmp Game Mode Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Database Reference . child ( FIRE BASE _ GAME ). get (). add On Success Listener Ġ{ Ġdata Snapshot Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Snapshot . children . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it . key ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 0 _ LO L Ġ-> Ġtmp Game 0 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 1 _ OVER _ WATCH Ġ-> Ġtmp Game 1 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 2 _ B ATT LE _ GROUND Ġ-> Ġtmp Game 2 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 3 _ SU DD EN _ ATT ACK Ġ-> Ġtmp Game 3 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 4 _ FI FA _ ON LINE _ 4 Ġ-> Ġtmp Game 4 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 5 _ LO ST _ ARK Ġ-> Ġtmp Game 5 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 6 _ MAP LE _ ST ORY Ġ-> Ġtmp Game 6 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 7 _ CY P HER S Ġ-> Ġtmp Game 7 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 8 _ STAR _ CR AFT Ġ-> Ġtmp Game 8 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFI RE BASE _ GAME _ 9 _ D UN GE ON _ AND _ F IGHT ER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 9 Ġ= Ġit . value . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" game 9 Ġis Ġ$ tmp Game 9 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Result () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtend ency Map Ġ= Ġmutable Map Of < String , ĠString >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ P URPOSE ] Ġ= Ġtmp Purpose !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ VOICE ] Ġ= Ġtmp Voice !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ PREFERRED _ G ENDER _ W OM EN ] Ġ= Ġtmp W omen !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ PREFERRED _ G ENDER _ M EN ] Ġ= Ġtmp Men !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ GAME _ MODE ] Ġ= Ġtmp Game Mode !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtend ency Ġ= Ġprocessing T end ency ( t end ency Map ) ĊĊĠĠĠĠĠĠĠ Ġval Ġint Game List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 0 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 1 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 2 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 3 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 4 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 5 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 6 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 7 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 8 !!. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Game 9 !!. toInt () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġgames Ġ= Ġmutable ListOf < Boolean >() ĊĊĠĠĠĠĠĠĠ Ġint Game List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgames . add ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġgames . add ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprofile Ġ= ĠProfile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Email !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Picture , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Name !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( tmp Game Name . isNull OrEmpty ()) Ġnull Ġelse Ġtmp Game Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Gender !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( tmp Self PR . isNull OrEmpty ()) Ġnull Ġelse Ġtmp Self PR , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtend ency , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgames , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġint Game List ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġsave Info To Room () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Progress bar ( flag Ġ: ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif ( flag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . pb Show Login Progress . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrotate Animation Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Utils . load Animation ( base Context , ĠR . anim . animation _ progressbar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . pb Show Login Progress . start Animation ( rotate Animation ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . pb Show Login Progress . clear Animation () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . pb Show Login Progress . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun ĠgetData ( var arg Ġparams : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdeferred Ġ= ĠCor outine Scope ( Dispatch ers . IO ). async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemail : ĠString Ġ= Ġparams [ 0 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġretrofit Ġ= ĠRet rofit Client . getInstance () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġserver Ġ= Ġretrofit . create ( User API :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver . getUser ( email !! ). enqueue ( object Ġ: ĠCallback < com . n aram . party _ project . callback . User > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall : ĠCall < com . n aram . party _ project . callback . User >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse : ĠResponse < com . n aram . party _ project . callback . User > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( response . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" ìĦ± ê³µ Ġ: Ġ${ response . body (). toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Result ( response . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" ìĭ¤ íĮ ¨ Ġ: Ġ${ response . error Body (). toString () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < com . n aram . party _ project . callback . User >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" ìĭ¤ íĮ ¨ Ġ: Ġ${ t . localized Message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth . getInstance ()?. sign Out () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeferred . await () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Error $ e ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Result ( response : Ġcom . n aram . party _ project . callback . User ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGame ĠT end ency ĊĠĠĠĠĠĠĠ Ġval ĠT end ency Map Ġ= Ġmutable Map Of < String , ĠString >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ P URPOSE ] Ġ= Ġresponse !!. purpose ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ VOICE ] Ġ= Ġresponse !!. voice ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ PREFERRED _ G ENDER _ W OM EN ] Ġ= Ġresponse !!. w omen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ PREFERRED _ G ENDER _ M EN ] Ġ= Ġresponse !!. men ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ TAG _ T END ENCY _ GAME _ MODE ] Ġ= Ġresponse !!. game _ mode ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtend ency Ġ= Ġprocessing T end ency ( T end ency Map ) ĊĊĠĠĠĠĠĠĠ Ġval ĠInt Game List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 0 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 1 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 2 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 3 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 4 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 5 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 6 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 7 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 8 . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game 9 . toInt () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġgames Ġ= Ġmutable ListOf < Boolean >() ĊĊĠĠĠĠĠĠĠ Ġprofile Ġ= ĠProfile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. email , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. picture , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. user _ name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. game _ name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. gender , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. self _ pr , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtend ency , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgames , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInt Game List ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġsave Info To Room () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave Info To Room () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġthread Ġ= ĠThread ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofile ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . user DAO (). insert UserInfo ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. picture , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. nick Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. gender , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. self PR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . t end ency DAO (). insert T end ency Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT end ency ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game T end ency [ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game T end ency [ 1 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game T end ency [ 2 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game T end ency [ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . game DAO (). insert Game Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGame ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 0 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 1 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 2 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 3 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 4 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 5 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 6 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 7 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 8 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile !!. game Names Int ! ![ 9 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġthread . start () ĊĠĠĠĠĠĠĠ Ġthread . join () ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĊĠĠĠ Ġ} Ċ Ċ }