/* Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠO ba ida ĠAl ĠMost ari hi Ġon Ġ 7 / 1 2 / 2 1 , Ġ 8 : 2 4 ĠPM Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġ. ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLast Ġmodified Ġ 7 / 1 2 / 2 1 , Ġ 8 : 2 4 ĠPM Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . yor on . ner d so ver flow Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . activity . result . Activity Result Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . google . firebase . auth . k tx . auth Ċ import Ġcom . google . firebase . k tx . Firebase Ċ import Ġcom . yor on . ner d so ver flow . activities . Details Activity Ċ import Ġcom . yor on . ner d so ver flow . activities . Search Activity Ċ import Ġcom . yor on . ner d so ver flow . activities . UserProfile Activity Ċ import Ġcom . yor on . ner d so ver flow . auth _ activities . Login Activity Ċ import Ġcom . yor on . ner d so ver flow . classes . Better Activity Result Ċ import Ġcom . yor on . ner d so ver flow . classes . as Circle Ċ import Ġcom . yor on . ner d so ver flow . main _ fragments . Home Fragment Ċ import Ġcom . yor on . ner d so ver flow . view _ models . Main ViewModel Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . io . Serializable ĊĊ Ċ @ Android EntryPoint Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġauth Ġ= ĠFirebase . auth ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhome Fragment : ĠHome Fragment ĊĠĠĠ Ġprivate Ġval Ġactivity Launcher : ĠBetter Activity Result < Intent , ĠActivity Result > Ġ= ĊĠĠĠĠĠĠĠ ĠBetter Activity Result . register Activity For Result ( this ) ĊĊĠĠĠ Ġprivate Ġval Ġmain ViewModel : ĠMain ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġ// Check Ġif Ġthe Ġuser Ġis Ġlogged Ġin Ġif Ġnot Ġintent Ġto Ġlogin Ġactivity ĊĠĠĠĠĠĠĠ Ġif Ġ( auth . currentUser Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠLogin Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TASK ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( android . R . anim . fade _ in , Ġandroid . R . anim . fade _ out ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġhome Fragment Ġ= ĠHome Fragment ( activity Launcher ) ĊĠĠĠĠĠĠĠ ĠFirebase . auth . currentUser ?. let Ġ{ Ġmain ViewModel . check For Details ( it . uid ) Ġ} ĊĠĠĠĠĠĠĠ Ġmain ViewModel . has Details . observe ( this ) Ġ{ Ġdata Or Exception Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Or Exception . e Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠDetails Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ ACTIVITY _ CLEAR _ TASK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( android . R . anim . fade _ in , Ġandroid . R . anim . fade _ out ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Or Exception . data ?. let Ġ{ Ġuser Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain User Image . as Circle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . uid ?. let Ġ{ ĠLog . v (" lo oo ol " Ġ, Ġit ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain User Image . setImage URI ( user . image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain User Image . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprofile Intent Ġ= ĠIntent ( this , ĠUser Profile Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile Intent . putExtra (" uid ", Ġuser . uid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( profile Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmain Search Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠSearch Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( android . R . anim . fade _ in , Ġandroid . R . anim . fade _ out ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġmain Notifications Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Com ing Ġsoon !", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction (). add ( main Activity Container . id , Ġhome Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĊĊĠĠĠ Ġ} ĊĊ Ċ }