package Ġcom . x plo re Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Fragment Ċ import Ġandroid . app . Fragment Transaction Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Navigation View Ċ import Ġandroid . support . v 4 . view . Gravity Compat Ċ import Ġandroid . support . v 4 . widget . Drawer Layout Ċ import Ġandroid . support . v 7 . app . ActionBar Drawer Toggle Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġcom . google . firebase . database . Data Snapshot Ċ import Ġcom . google . firebase . database . Database Error Ċ import Ġcom . google . firebase . database . Firebase Database Ċ import Ġcom . google . firebase . database . Value EventListener Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġcom . x plo re . account . SignIn Activity Ċ import Ġcom . x plo re . base . Base AppCompatActivity Ċ import Ġcom . x plo re . database . DB Manager Ċ import Ġcom . x plo re . groups . my . Loading My Groups Fragment Ċ import Ġcom . x plo re . groups . search . Search Groups Fragment Ċ import Ġcom . x plo re . maps . Base Map Activity Ċ import Ġcom . x plo re . notifications . Badge Drawer Arrow Drawable Ċ import Ġcom . x plo re . notifications . Badge Notification Util Ċ import Ġcom . x plo re . reserve . Library Fragment Ċ import Ġcom . x plo re . settings . Language Util Ċ import Ġcom . x plo re . settings . Settings Activity Ċ import Ġcom . x plo re . user . User Card Ċ import Ġcom . x plo re . util . Image Util Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ /* Ċ Ġ* ĠCreated Ġby ĠN ika oto Ġon Ġ 8 / 2 5 / 2 0 1 7 . Ċ Ġ* Ċ Ġ* ĠThe Ġmain Ġactivity Ċ Ġ* Ċ Ġ*/ Ċ Ċ class ĠMainActivity Ġ: ĠBase AppCompatActivity (), ĠNavigation View . On Navigation ItemSelected Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠP REF S _ LANGUAGE Ġ= Ġ" prefs _ lang " ĊĠĠĠ Ġprivate Ġval ĠP REF S _ STRING _ LANGUAGE Ġ= Ġ" lang " ĊĊĠĠĠ Ġprivate Ġval Ġdrawer : ĠDraw er Layout Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠfindViewById < Drawer Layout >( R . id . drawer _ layout ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġapp Just La unched Ġ= Ġtrue ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser ImageView : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser FullName TextView : ĠTextView ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbadge Notification Util : ĠBadge Notification Util ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Ġmain - act " ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Theme ( R . style . App Theme _ No ActionBar ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġconfigure DB Language () ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ ĠGeneral . init Display Metrics ( this ) ĊĠĠĠĠĠĠĠ ĠGeneral . refresh Account Status () ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetting Ġup Ġuser Ġprofile Ġinside Ġdrawer Ġheader ĊĠĠĠĠĠĠĠ Ġval Ġnav Header View Ġ= Ġnavigation View . getHeader View ( 0 ) ĊĠĠĠĠĠĠĠ Ġuser ImageView Ġ= Ġnav Header View . findViewById < ImageView >( R . id . drawer _ image ) ĊĠĠĠĠĠĠĠ Ġuser FullName TextView Ġ= Ġnav Header View . findViewById < TextView >( R . id . user FullName TextView ) ĊĠĠĠĠĠĠĠ Ġuser ImageView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( General . is User Signed In ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGeneral . open UserProfile ( this @ MainActivity , ĠGeneral . current UserId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGeneral . pop SignIn Menu ( 0 . 8 , Ġ 0 . 6 , Ġcurrent Focus , Ġthis @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĊĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Show Title Enabled ( false ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUsed Ġto Ġhide Ġkeyboard Ġwhen Ġdrawer Ġis Ġclicked ĊĠĠĠĠĠĠĠ Ġval Ġtoggle Ġ= Ġobject Ġ: ĠAction Bar Drawer Toggle ( this , Ġdrawer , Ġtoolbar , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . navigation _ drawer _ open , ĠR . string . navigation _ drawer _ close ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Drawer Closed ( drawer View : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Drawer Closed ( drawer View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Drawer Opened ( drawer View : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Drawer Opened ( drawer View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// TODO Ġcreate Ġa Ġtimer Ġwhich Ġchecks Ġfor Ġnot ifs Ġevery Ġ 3 0 s Ġand Ġgives Ġnotification Ġ+ Ġupdates Ġbad ges ĊĊĠĠĠĠĠĠĠ Ġ// ĠBadge Ġfor Ġnotifications ĊĠĠĠĠĠĠĠ Ġval Ġdrawer Badge Ġ= ĠBadge Drawer Arrow Drawable ( toolbar . context ) ĊĊĠĠĠĠĠĠĠ Ġbadge Notification Util Ġ= ĠBadge Notification Util ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Badge , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation View . menu . find Item ( R . id . nav _ my _ groups ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. action View . findViewById < TextView >( R . id . my Groups Badge ) Ġas ĠTextView Ġ// ĠTODO Ġtest Ġthis Ġpossible Ġfix ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* MenuItem Compat . getAction View ( navigation View . menu ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Item ( R . id . nav _ my _ groups )). findViewById < TextView >( R . id . my Groups Badge ) */ ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtoggle . drawer Arrow Drawable Ġ= Ġdrawer Badge ĊĊĠĠĠĠĠĠĠ Ġdrawer . add Drawer Listener ( toggle ) ĊĠĠĠĠĠĠĠ Ġtoggle . sync State () ĊĠĠĠĠĠĠĠ Ġnavigation View . set Navigation ItemSelected Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( General . is User Signed In ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh UserProfile Views ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠGeneral . hide Keyboard ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure DB Language () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= Ġget SharedPreferences ( PRE FS _ LANGUAGE , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Language Ġ= Ġprefs . getString ( PRE FS _ STRING _ LANGUAGE , Ġ"") ĊĠĠĠĠĠĠĠ Ġif Ġ( current Language . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThis Ġonly Ġexecutes Ġif ĠLanguage Select Act Ġfailed Ġto Ġwrite Ġto Ġprefs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet ĠEnglish Ġas Ġlanguage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprefs . edit (). putString ( PRE FS _ STRING _ LANGUAGE , ĠLanguage Util . EN GL ISH _ LANGUAGE _ CODE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDB Manager . DB _ TABLE Ġ= ĠLanguage Util . EN GL ISH _ LANGUAGE _ CODE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDB Manager . DB _ TABLE Ġ= Ġcurrent Language ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen HomePage () Ġ{ ĊĠĠĠĠĠĠĠ Ġopen Fragment ( Search Groups Fragment (), ĠR . id . nav _ find _ create _ groups ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo If Authorized ( func : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( General . is User Signed In ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfunc () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpop Login Menu () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Fragment ( f : ĠFragment , Ġnav Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigation View . setChecked Item ( nav Id ) ĊĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Transition ( Fragment Transaction . TRANS IT _ FRAGMENT _ FA DE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . fragment _ container , Ġf ). commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" on resume Ġmain Ġact ") ĊĊĠĠĠĠĠĠĠ Ġ// ĠRef res hes Ġapp Ġif Ġlanguage Ġchanged ĊĠĠĠĠĠĠĠ Ġif Ġ( Language Util . language Prefs Changed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" lang Ġprefs Ġchanged , Ġre creating Ġmain Ġact ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLanguage Util . language Prefs Changed Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecreate () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠRe loads Ġuser Ġrelated Ġcontent Ġwhen Ġnew Ġlogin Ġoccurs ĊĠĠĠĠĠĠĠ Ġif Ġ( General . account Status Ġ== ĠGeneral . JUST _ LOG GED _ IN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Notification Util . reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh UserProfile Views ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGeneral . account Status Ġ= ĠGeneral . LOG GED _ IN ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠDis ables Ġnotification Ġmanager Ġand Ġopens Ġhomepage Ġif Ġlogged Ġout Ġfrom Ġsettings ĊĠĠĠĠĠĠĠ Ġif Ġ( General . account Status Ġ== ĠGeneral . NOT _ LOG GED _ IN Ġ&& Ġ! app Just La unched ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbadge Notification Util . disable () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( SignIn Activity . new Intent ( this , Ġtrue )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠClear s Ġuser Ġrelated Ġcontent Ġwhen Ġlogged Ġout ĊĠĠĠĠĠĠĠ Ġif Ġ(! General . is User Signed In ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser FullName TextView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( R . drawable . user _ default _ profile _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transform ( Image Util . medium Circle ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( user ImageView ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( app Just La unched ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Just La unched Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen HomePage () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠUsed Ġfor Ġtesting ĊĠĠĠĠĠĠĠ Ġ// startActivity ( Registration Activity . new Intent ( this , ĠGeneral . current UserId , Ġ" N ika ĠO to ", Ġ" n ika oto 9 9 9 @ gmail . com ", Ġ" https :// firebase storage . googleapis . com / v 0 / b / x plo re - a 4 aa 3 . app spot . com / o / users % 2 FM h NY Tm L zu E an Tb OT WK 8 m 0 Ju 6 Y f 3 3 % 2 F profile _ picture . jpg ? alt = media & token = 5 cc 4 9 5 d 0 - a 1 9 4 - 4 ec 0 - be 4 6 - 0 ddf 1 fba 5 8 8 b ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh UserProfile Views ( context : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠFirebase Database . getInstance (). getReference (" users "). child ( General . current UserId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addListener For Single Value Event ( object Ġ: ĠValue EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Data Change ( data Snapshot : ĠData Snapshot ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Snapshot Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp User Ġ= Ġdata Snapshot . getValue ( User Card :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( temp User Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( temp User . profile _ picture _ url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transform ( Image Util . medium Circle ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . pic asso _ load _ anim ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( user ImageView ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser FullName TextView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser FullName TextView . text Ġ= Ġtemp User . get FullName () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( it , ĠR . string . error , ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancelled ( p 0 : ĠDatabase Error ?) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhide Keyboard () Ġ= ĠGeneral . hide Keyboard ( this @ MainActivity ) ĊĊĠĠĠ Ġprivate Ġfun Ġpop Login Menu () Ġ= ĠGeneral . pop SignIn Menu ( 0 . 8 , Ġ 0 . 6 , Ġcurrent Focus , Ġthis ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠLibrary Fragment . REQ _ CODE _ RESER VE _ INFO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsearch Dest Id Ġ= Ġit . getInt Extra ( Library Fragment . ARG _ GROUP _ SEARCH _ DEST INATION _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Fragment ( Search Groups Fragment . newInstance ( search Dest Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ find _ create _ groups ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Navigation ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġitem . itemId ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ profile Ġ-> Ġdo If Authorized Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGeneral . open UserProfile ( this @ MainActivity , ĠGeneral . current UserId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ map Ġ-> ĠstartActivity ( Intent ( this , ĠBase Map Activity :: class . java )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ library Ġ-> Ġopen Fragment ( Library Fragment (), ĠR . id . nav _ library ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ my _ groups Ġ-> Ġdo If Authorized Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Fragment ( Loading My Groups Fragment (), ĠR . id . nav _ my _ groups ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ find _ create _ groups Ġ-> Ġdo If Authorized Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Fragment ( Search Groups Fragment (), ĠR . id . nav _ find _ create _ groups ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ settings Ġ-> ĠstartActivity ( Intent ( this , ĠSettings Activity :: class . java )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ about Ġ-> ĠstartActivity ( Intent ( this , ĠAbout Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfragment Manager . execute Pending Transactions () ĊĠĠĠĠĠĠĠ Ġdrawer . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawer . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen HomePage () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . main , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Keyboard () ĊĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ== ĠR . id . action _ settings ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠSettings Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ }