package Ġorg . fo ss as ia . open event . general . sessions Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Calendar Contract Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġandroidx . navigation . Navigation . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager . HORIZONTAL Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . progress Bar Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Track Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Abstract Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Language Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Container Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Language Container Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Location Info Container Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Location Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Time Container Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Location Image Map Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Type Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Name Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail EndTime Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail StartTime Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Location Container Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Info Location Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Abstract Container Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Abstract See More Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Track Container Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail SignUp Button Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail Track Icon Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . speak ers Under Session Recycler Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . speak ers ProgressBar Ċ import Ġkotlinx . android . synt hetic . main . fragment _ session . view . session Detail S peak ers Container Ċ import Ġorg . fo ss as ia . open event . general . R Ċ import Ġorg . fo ss as ia . open event . general . common . Speaker ClickListener Ċ import Ġorg . fo ss as ia . open event . general . speak ers . Speaker Recycler Adapter Ċ import Ġorg . fo ss as ia . open event . general . event . Event Utils Ċ import Ġorg . fo ss as ia . open event . general . utils . Utils Ċ import Ġorg . fo ss as ia . open event . general . utils . Utils . set Toolbar Ċ import Ġorg . fo ss as ia . open event . general . utils . extensions . non Null Ċ import Ġorg . fo ss as ia . open event . general . utils . strip Html Ċ import Ġorg . jetbrains . ank o . design . sn ackbar Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ const Ġval ĠLINE _ COUNT _ AB STR ACT Ġ= Ġ 3 Ċ Ċ class ĠSession Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġroot View : ĠView ĊĠĠĠ Ġprivate Ġval Ġsession ViewModel Ġby ĠviewModel < Session ViewModel >() ĊĠĠĠ Ġprivate Ġval Ġspeak ers Adapter Ġ= ĠS peaker Recycler Adapter () ĊĠĠĠ Ġprivate Ġval Ġsafe Args : ĠSession Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġroot View Ġ= Ġinflater . inflate ( R . layout . fragment _ session , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġset Toolbar ( activity ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĊĠĠĠĠĠĠĠ Ġsession ViewModel . error ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. non Null () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . sn ackbar ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== ĠgetString ( R . string . error _ fetch ing _ speak ers _ for _ session )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail S peak ers Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsession ViewModel . session ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. non Null () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Session View ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsession ViewModel . progress ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. non Null () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . progress Bar . isVisible Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Container . isVisible Ġ= Ġ! it ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsession ViewModel . speak ers Under Session ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. non Null () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeak ers Adapter . addAll ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail S peak ers Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . speak ers ProgressBar . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsession ViewModel . load Session ( safe Args . sessionId ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrent S peak ers Ġ= Ġsession ViewModel . speak ers Under Session . value ĊĠĠĠĠĠĠĠ Ġif Ġ( current S peak ers Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession ViewModel . load S peak ers Under Session ( safe Args . sessionId ) ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspeak ers Adapter . addAll ( current S peak ers ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current S peak ers . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail S peak ers Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . speak ers ProgressBar . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġlayout Manager . orientation Ġ= ĠH ORIZONTAL ĊĠĠĠĠĠĠĠ Ġroot View . speak ers Under Session Recycler . layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠ Ġroot View . speak ers Under Session Recycler . adapter Ġ= Ġspeak ers Adapter ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġspeaker ClickListener Ġ= Ġobject Ġ: ĠS peaker ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( speaker Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller ( root View ). navigate ( Session Fragment Directions . action Session ToS peaker ( speaker Id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġspeak ers Adapter . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Speaker Click Ġ= Ġspeaker ClickListener ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġspeak ers Adapter . on Speaker Click Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠUtils . set New Header Color ( activity , Ġresources . getColor ( R . color . color Primary Dark ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getColor ( R . color . color Primary )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake Session View ( session : ĠSession ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( session . title . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġroot View . session Detail Name . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Name . text Ġ= Ġsession . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Toolbar ( activity , Ġsession . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġsession . session Type ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Type . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Type . text Ġ= ĠgetString ( R . string . type _ name , Ġtype . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlocation Info Ġ= Ġsession . micro location ĊĠĠĠĠĠĠĠ Ġif Ġ( location Info Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Location Info Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Location Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Info Location . text Ġ= Ġlocation Info . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Location . text Ġ= Ġlocation Info . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( location Info . latitude . isNull Or Blank () Ġ|| Ġlocation Info . longitude . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Location Image Map . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Location Container . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Map ( location Info . latitude , Ġlocation Info . longitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Location Image Map . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Map ( location Info . latitude , Ġlocation Info . longitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( session ViewModel . load Map ( location Info . latitude , Ġlocation Info . longitude )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . ic _ map _ black ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . ic _ map _ black ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( root View . session Detail Location Image Map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( session . language . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġroot View . session Detail Language Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġroot View . session Detail Language . text Ġ= Ġsession . language ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( session . starts At . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġroot View . session Detail StartTime . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted StartTime Ġ= ĠEvent Utils . getEvent DateTime ( session . starts At , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted Time Ġ= ĠEvent Utils . get Formatted Time ( formatted StartTime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted Date Ġ= ĠEvent Utils . get Formatted Date ( formatted StartTime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimezone Ġ= ĠEvent Utils . get Formatted TimeZone ( formatted StartTime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail StartTime . text Ġ= Ġ"$ formatted Time Ġ$ timezone / Ġ$ formatted Date " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwhen Ġ( session . ends At . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġroot View . session Detail EndTime . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted EndTime Ġ= ĠEvent Utils . getEvent DateTime ( session . ends At , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted Time Ġ= ĠEvent Utils . get Formatted Time ( formatted EndTime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted Date Ġ= ĠEvent Utils . get Formatted Date ( formatted EndTime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimezone Ġ= ĠEvent Utils . get Formatted TimeZone ( formatted EndTime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail EndTime . text Ġ= Ġ"- Ġ$ formatted Time Ġ$ timezone / Ġ$ formatted Date " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( session . starts At . isNull Or Blank () Ġ&& Ġsession . ends At . isNull Or Blank ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Time Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Time Container . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Session To Calendar ( session ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdescription Ġ= Ġsession . long Abstract Ġ?: Ġsession . short Abstract ĊĠĠĠĠĠĠĠ Ġwhen Ġ( description . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġroot View . session Detail Abstract Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract . text Ġ= Ġdescription . strip Html () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsession Abstract ClickListener Ġ= ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( root View . session Detail Abstract See More . text Ġ== ĠgetString ( R . string . see _ more )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract See More . text Ġ= ĠgetString ( R . string . see _ less ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract . min Lines Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract . max Lines Ġ= ĠInt . MAX _ VALUE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract See More . text Ġ= ĠgetString ( R . string . see _ more ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract . set Lines ( LINE _ COUNT _ AB STR ACT Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( root View . session Detail Abstract . line Count Ġ> ĠLINE _ COUNT _ AB STR ACT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract See More . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Abstract Container . setOnClickListener ( session Abstract ClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtrack Ġ= Ġsession . track ĊĠĠĠĠĠĠĠ Ġwhen Ġ( track Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġroot View . session Detail Track Container . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Track . text Ġ= Ġtrack . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtrack Color Ġ= ĠColor . parse Color ( track . color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . session Detail Track Icon . setColor Filter ( track Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUtils . set New Header Color ( activity , Ġtrack Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( session . signup Url . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġroot View . session Detail SignUp Button . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġroot View . session Detail SignUp Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ ĠUtils . open Url ( it , Ġsession . signup Url ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave Session To Calendar ( session : ĠSession ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ INSERT ) ĊĠĠĠĠĠĠĠ Ġintent . type Ġ= Ġ" vnd . android . cursor . item / event " ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Calendar Contract . Events . TITLE , Ġsession . title ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Calendar Contract . Events . DESCRIPTION , Ġsession . short Abstract ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Calendar Contract . Events . EVENT _ LOCATION , Ġsession . micro location ?. name ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( session . starts At Ġ!= Ġnull Ġ&& Ġsession . ends At Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted StartTime Ġ= ĠEvent Utils . getEvent DateTime ( session . starts At , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimezone Ġ= ĠEvent Utils . get Formatted TimeZone ( formatted StartTime ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Calendar Contract . Events . EVENT _ TIME ZONE , Ġtimezone ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Calendar Contract . EXTRA _ EVENT _ BEGIN _ TIME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Utils . getTime In Milli Seconds ( session . starts At , Ġtimezone )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Calendar Contract . EXTRA _ EVENT _ END _ TIME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Utils . getTime In Milli Seconds ( session . ends At , Ġtimezone )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Map ( latitude : ĠString , Ġlongitude : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Url Ġ= Ġ" geo :< $ latitude >, <$ longitude >? q =< $ latitude >, <$ longitude >" ĊĠĠĠĠĠĠĠ Ġval Ġmap Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW , ĠUri . parse ( map Url )) ĊĠĠĠĠĠĠĠ Ġval Ġpackage Manager Ġ= Ġactivity ?. package Manager ĊĠĠĠĠĠĠĠ Ġif Ġ( package Manager Ġ!= Ġnull Ġ&& Ġmap Intent . resolve Activity ( package Manager ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( map Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ