package Ġcom . github . typ 0 5 2 0 . code e . ui . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . view . Gravity Compat Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . github . typ 0 5 2 0 . code e . R Ċ import Ġcom . github . typ 0 5 2 0 . code e . base . Base Activity Ċ import Ġcom . github . typ 0 5 2 0 . code e . base . Base Fragment Ċ import Ġcom . github . typ 0 5 2 0 . code e . mvp . bean . User Ċ import Ġcom . github . typ 0 5 2 0 . code e . ui . fragment . Events Fragment Ċ import Ġcom . github . typ 0 5 2 0 . code e . ui . fragment . Profile Fragment Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġcom . z hy . fab ridge . annotation . F Callback Id Ċ import Ġandroid . content . Intent Ċ import Ġcom . github . typ 0 5 2 0 . code e . ui . fragment . Search Fragment Ċ import Ġcom . github . typ 0 5 2 0 . code e . ui . fragment . Trend ing Fragment Ċ import Ġcom . github . typ 0 5 2 0 . code e . utils . show Long Toast Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġt ong Ġon Ġ 2 0 1 7 / 1 2 / 1 9 . Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠBase Activity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEVENT _ SHOW _ OR _ HIDE _ DRAW ER Ġ= Ġ" EVENT _ SHOW _ OR _ HIDE _ DRAW ER " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġiv _ avatar Ġby Ġlazy Ġ{ Ġnv _ menu . getHeader View ( 0 ). findViewById ( R . id . iv _ avatar ) Ġas ĠImageView Ġ} ĊĠĠĠ Ġprivate Ġval Ġtv _ login Ġby Ġlazy Ġ{ Ġnv _ menu . getHeader View ( 0 ). findViewById ( R . id . tv _ login ) Ġas ĠTextView Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Navigation ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dl . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdl . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġusername Ġ= ĠUser . current () !!. login ĊĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ profile ĠĠĠĠ Ġ-> Ġ Ġreplace Fragment ( Profile Fragment . newInstance ( username )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ not is ĠĠĠĠĠĠ Ġ-> Ġ Ġshow Long Toast (" TODO ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ news ĠĠĠĠĠĠĠ Ġ-> Ġ Ġreplace Fragment ( Events Fragment . newInstance For News ( username )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ events ĠĠĠĠĠ Ġ-> Ġ ĠEvents Activity . start Events ( this , Ġusername ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ owned ĠĠĠĠĠĠ Ġ-> Ġ ĠRe positories Activity . start O wend ( this , Ġusername ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ star red ĠĠĠĠ Ġ-> Ġ ĠRe positories Activity . start Star red ( this , Ġusername ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ trend ing ĠĠĠ Ġ-> Ġ Ġreplace Fragment ( Trend ing Fragment . newInstance ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . group _ item _ search ĠĠĠĠĠ Ġ-> Ġ Ġreplace Fragment ( Search Fragment . newInstance ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġnv _ menu . set Navigation ItemSelected Listener (:: on Navigation ItemSelected ) ĊĠĠĠĠĠĠĠ Ġval Ġuser : ĠUser Ġ= ĠUser . current () !! ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( user . avatar _ url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). placeholder ( R . drawable . login _ user _ unknown ). circle Crop ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( iv _ avatar ) ĊĠĠĠĠĠĠĠ Ġtv _ login . text Ġ= Ġuser . login ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace Fragment ( Events Fragment . newInstance For News ( user . login )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreplace Fragment ( fragment : ĠBase Fragment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . fl _ container , fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ F Callback Id ( id Ġ= ĠEVENT _ SHOW _ OR _ HIDE _ DRAW ER ) ĊĠĠĠ Ġfun Ġshow Or Hide Drawer () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! dl . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdl . open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dl . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdl . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ MAIN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . add Category ( Intent . CATEGORY _ HOME ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ