package Ġuk . co . app sb yst udio . ge osh are . friends . profile Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . Fragment Pager Adapter Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . widget . Toast Ċ import Ġcom . google . firebase . database . Firebase Database Ċ import Ġkotlinx . android . synt hetic . main . activity _ profile .* Ċ import Ġuk . co . app sb yst udio . ge osh are . R Ċ import Ġuk . co . app sb yst udio . ge osh are . friends . profile . friends . Profile Friends Fragment Ċ import Ġuk . co . app sb yst udio . ge osh are . friends . profile . info . Profile Info Fragment Ċ import Ġuk . co . app sb yst udio . ge osh are . friends . profile . static map . Profile Static Map Fragment Ċ import Ġuk . co . app sb yst udio . ge osh are . utils . Show Marker Preferences Helper Ċ import Ġuk . co . app sb yst udio . ge osh are . utils . Tracking Preferences Helper Ċ import Ġuk . co . app sb yst udio . ge osh are . utils . firebase . Firebase Helper Ċ import Ġuk . co . app sb yst udio . ge osh are . utils . firebase . listeners . GetUser From Database Ċ import Ġuk . co . app sb yst udio . ge osh are . utils . set Profile Picture Ċ Ċ class ĠProfile Activity Ġ: ĠAppCompatActivity (), ĠProfile View Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġpresenter : ĠProfile Presenter ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġuid : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ profile ) ĊĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠProfile Presenter Impl ( this , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTracking Preferences Helper ( get SharedPreferences (" tracking ", ĠMODE _ PRIVATE )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShow Marker Preferences Helper ( get SharedPreferences (" show On Map ", ĠMODE _ PRIVATE ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġintent . extras ĊĊĠĠĠĠĠĠĠ Ġif Ġ( bundle Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuid Ġ= Ġbundle . getString (" uid ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġimage _ avatar _ profile . set Profile Picture ( uid , Ġthis . cacheDir . toString ()) ĊĊĠĠĠĠĠĠĠ ĠFirebase Database . getInstance (). reference . child ("${ Firebase Helper . USERS }/ $ uid "). addListener For Single Value Event ( GetUser From Database ( text _ name _ profile )) ĊĊĠĠĠĠĠĠĠ Ġview _ pager _ profile . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġobject Ġ: ĠFragment Pager Adapter ( support FragmentManager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠProfile Info Fragment . newInstance ( uid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠProfile Static Map Fragment . newInstance ( uid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠProfile Friends Fragment . newInstance ( uid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoff screen Page Limit Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Margin Ġ= Ġ( 8 Ġ* Ġcontext . resources . display Metrics . density ). toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview _ left _ profile . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter ?. set ViewPager Position ( view _ pager _ profile . currentItem Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview _ right _ profile . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter ?. set ViewPager Position ( view _ pager _ profile . currentItem Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġimage _ back _ button _ profile . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton _ remove _ friend _ profile . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter ?. remove Friend Dialog ( uid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Position ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview _ pager _ profile . currentItem Ġ= Ġposition ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Dialog ( uid : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder : ĠAlertDialog . Builder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġbuilder . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Message (" Are Ġyou Ġsure Ġyou Ġwant Ġto Ġremove Ġthis Ġperson Ġfrom Ġyour Ġfriends Ġlist ?") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Positive Button (" OK ") Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter ?. remove Friend ( uid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Negative Button (" Cancel ") Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Interface . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( error : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġerror , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose Profile () Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ } Ċ