package Ġcom . x plo re . event Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . AppBar Layout Ċ import Ġandroid . support . v 4 . view . View Compat Ċ import Ġandroid . view . View Ċ import Ġcom . google . firebase . database . Data Snapshot Ċ import Ġcom . google . firebase . database . Database Error Ċ import Ġcom . google . firebase . database . Value EventListener Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġcom . x plo re . R Ċ import Ġcom . x plo re . base . Base Activity Ċ import Ġcom . x plo re . reserve . Icons Ċ import Ġcom . x plo re . util . Firebase Util Ċ import Ġkotlinx . android . synt hetic . main . stand _ info .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠN ika Ġon Ġ 9 / 2 8 / 2 0 1 7 . Ċ Ġ* Ċ Ġ* ĠInfo Ġabout Ġa Ġchosen Ġstand Ċ Ġ* Ċ Ġ*/ Ċ Ċ class ĠStand Info Activity Ġ: ĠBase Activity (), ĠApp Bar Layout . On Offset Changed Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠIMAGE _ SHOW _ PERCENT Ġ= Ġ 1 0 0 ĊĠĠĠ Ġprivate Ġvar Ġmax Scroll Size Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġis Image Hidden Ġ= Ġfalse ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠARG _ CH OS EN _ STAND _ ID Ġ= Ġ" chosen _ stand " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġget Start Intent ( context : ĠContext , Ġstand Id : ĠString ): ĠIntent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠStand Info Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( ARG _ CH OS EN _ STAND _ ID , Ġstand Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġstand Id : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġintent . getString Extra ( ARG _ CH OS EN _ STAND _ ID ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . stand _ info ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġup Ġmenu ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener Ġ{ Ġon Back Pressed () Ġ} ĊĠĠĠĠĠĠĠ Ġapp Bar . add On Offset Changed Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠStart Ġloading Ġdata ĊĠĠĠĠĠĠĠ ĠFirebase Util . get Stand Ref ( stand Id ). addListener For Single Value Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠValue EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Data Change ( data Snapshot : ĠData Snapshot ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Snapshot Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstand Ġ= Ġdata Snapshot . getValue ( Stand :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stand Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstand . id Ġ= Ġdata Snapshot . key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Data ( stand ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancelled ( p 0 : ĠDatabase Error ?) Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Offset Changed ( app Bar Layout : ĠApp Bar Layout , Ġvertical Offset : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( max Scroll Size Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Scroll Size Ġ= Ġapp Bar Layout . total Scroll Range ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrent Scroll Percentage Ġ= Ġ( Math . abs ( vertical Offset )) Ġ* Ġ 1 0 0 Ġ/ Ġmax Scroll Size ĊĊĠĠĠĠĠĠĠ Ġif ( current Scroll Percentage Ġ>= ĠIMAGE _ SHOW _ PERCENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! is Image Hidden ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Image Hidden Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Compat . animate ( reserve Icon FAB ). scale Y ( 0 f ). scale X ( 0 f ). start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( current Scroll Percentage Ġ< ĠIMAGE _ SHOW _ PERCENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( is Image Hidden ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Image Hidden Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Compat . animate ( reserve Icon FAB ). scale Y ( 1 f ). scale X ( 1 f ). start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisplay Data ( stand : ĠStand ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠName ĊĠĠĠĠĠĠĠ Ġif Ġ( stand . show _ title ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcol lap sing Toolbar . title Ġ= Ġstand . id ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠImage ĊĠĠĠĠĠĠĠ Ġif Ġ( stand . banner _ image _ url . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( stand . banner _ image _ url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( stand ImageView ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( stand . image _ url . isNotEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( stand . image _ url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( stand ImageView ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠType ĠF AB ĊĠĠĠĠĠĠĠ Ġreserve Icon FAB . setImage Resource ( Icons . ilia uni ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDescription ĊĠĠĠĠĠĠĠ Ġdescription TextView . text Ġ= Ġstand . description ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow ĠOn ĠMap ĊĠĠĠĠĠĠĠ Ġif Ġ( stand . has No Location ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow on map Button . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠShow Ġon Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow on map Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* startActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Map Activity . getStart Intent ( this , Ġstand . latitude , Ġstand . longitude )) */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠF AB Ġalso Ġshows Ġon Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreserve Icon FAB . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* startActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Map Activity . getStart Intent ( this , Ġstand . latitude , Ġstand . longitude )) */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }