package Ġcom . map swith me . maps . bookmarks Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . coco sw . bottom sheet . Bottom Sheet Ċ import Ġcom . map swith me . maps . R Ċ import Ġcom . map swith me . maps . bookmarks . data . Bookmark Category Ċ import Ġcom . map swith me . maps . bookmarks . data . Bookmark Manager Ċ import Ġcom . map swith me . maps . bookmarks . data . Bookmark Manager . Book marks Catalog Listener Ċ import Ġcom . map swith me . maps . bookmarks . data . Bookmark Manager . Upload Result Ċ import Ġcom . map swith me . maps . bookmarks . data . Catalog Custom Property Ċ import Ġcom . map swith me . maps . bookmarks . data . Catalog Tags Group Ċ import Ġcom . map swith me . util . Shared Properties Utils Ċ import Ġcom . map swith me . util . UT M Ċ import Ġcom . map swith me . util . Ui Utils Ċ import Ġcom . map swith me . util . statistics . Statistics Ċ Ċ class ĠCached Bookmark Categories Fragment Ġ: ĠBase Bookmark Categories Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Empty View Container : ĠViewGroup ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Payload Container : ĠView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Progress Container : ĠView ĊĠĠĠ Ġoverride Ġfun Ġon View Created ( ĊĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm Progress Container Ġ= Ġview . findViewById ( R . id . placeholder _ loading ) ĊĠĠĠĠĠĠĠ Ġm Empty View Container Ġ= Ġview . findViewById ( R . id . placeholder _ container ) ĊĠĠĠĠĠĠĠ Ġm Payload Container Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById ( R . id . cached _ bookmarks _ payload _ container ) ĊĠĠĠĠĠĠĠ Ġinit Header ( view ) ĊĠĠĠĠĠĠĠ Ġinit Placeholder () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Placeholder () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdownload Routes Place Holder Btn Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Empty View Container . findViewById < View >( R . id . download _ rout ers _ btn ) ĊĠĠĠĠĠĠĠ Ġdownload Routes Place Holder Btn . setOnClickListener ( Download Routes ClickListener ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Header ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdownload Routes Btn Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . download _ routes _ layout ) ĊĠĠĠĠĠĠĠ Ġdownload Routes Btn . setOnClickListener Ġ{ Ġbtn : ĠView ? Ġ-> Ġopen Book marks Catalog Screen () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġclose Header Btn Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . header _ close ) ĊĠĠĠĠĠĠĠ Ġclose Header Btn . setOnClickListener ( Close Header ClickListener ()) ĊĠĠĠĠĠĠĠ Ġval Ġis Closed Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShared Properties Utils . is Catalog Categories Header Closed ( require Context ()) ĊĠĠĠĠĠĠĠ Ġval Ġheader Ġ= Ġview . findViewById < View >( R . id . header ) ĊĠĠĠĠĠĠĠ ĠUi Utils . hide If ( is Closed , Ġheader ) ĊĠĠĠĠĠĠĠ Ġval ĠimageView Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdownload Routes Btn . findViewById < ImageView >( R . id . image ) ĊĠĠĠĠĠĠĠ Ġval Ġres Provider Ġ= Ġadapter !!. factory . res Provider ĊĠĠĠĠĠĠĠ ĠimageView . setImage Resource ( res Provider . footer Image ) ĊĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= Ġdownload Routes Btn . findViewById < TextView >( R . id . text ) ĊĠĠĠĠĠĠĠ ĠtextView . setText ( res Provider . footer Text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġlayout Res : ĠInt ĊĠĠĠĠĠĠĠ Ġprotected Ġget () Ġ= ĠR . layout . fragment _ catalog _ bookmark _ categories ĊĊĠĠĠ Ġoverride Ġval Ġtype : ĠBook mark Category . Type ĊĠĠĠĠĠĠĠ Ġprotected Ġget () Ġ= ĠBook mark Category . Type . DOWN LOADED ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( v : ĠView , Ġcategory : ĠBook mark Category ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Bookmark Manager . INSTANCE . is Guide ( category )) ĠStatistics . INSTANCE . track Guide Open ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory . server Id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsuper . on Item Click ( v , Ġcategory ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Footer Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġopen Book marks Catalog Screen () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Share Action Selected ( category : ĠBook mark Category ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠAssertionError (" Sharing Ġis Ġnot Ġsupported Ġfor Ġdownloaded Ġguides ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonDelete Action Selected () Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Loading Placeholder () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Loading Placeholder () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . update Loading Placeholder () ĊĠĠĠĠĠĠĠ Ġval Ġshow Loading Placeholder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBook mark Manager . INSTANCE . is Async Book marks Loading InProgress ĊĠĠĠĠĠĠĠ Ġif Ġ( show Loading Placeholder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Progress Container . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Payload Container . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Empty View Container . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠisEmpty Adapter Ġ= Ġadapter !!. item Count Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . show If ( isEmpty Adapter , Ġm Empty View Container ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Payload Container . visibility Ġ= Ġif Ġ( isEmpty Adapter ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Progress Container . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isEmpty Adapter ) ĠStatistics . INSTANCE . track Gu ides Shown ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBook mark Manager . INSTANCE . guides Ids ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġcategory Menu Res Id : ĠInt ĊĠĠĠĠĠĠĠ Ġprotected Ġget () Ġ= ĠR . menu . menu _ catalog _ bookmark _ categories ĊĊĠĠĠ Ġprivate Ġfun Ġopen Book marks Catalog Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcatalog Url Ġ= ĠBook mark Manager . INSTANCE . getC atalog Frontend Url ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠU TM . UT M _ BOOK MARK S _ PAGE _ CAT ALOG _ BUTTON ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠBook marks Catalog Activity . Companion . start For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĠREQ _ CODE _ CAT ALOG , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatalog Url ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠStatistics . INSTANCE . track Open Catalog Screen () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġon Activity Result Internal ( ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ ĠresultCode : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠIntent ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQ _ CODE _ CAT ALOG Ġ&& ĠresultCode Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). set Result ( Activity . RESULT _ OK , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). finish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon More Operation Click ( item : ĠBook mark Category ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Bottom Menu ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Catalog Listener (): ĠBook marks Catalog Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBook mark Categories Catalog Listener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprepare Bottom Menu Items ( bottom Sheet : ĠBottom Sheet ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Enable For MenuItem ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . delete , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset Enable For MenuItem ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . share , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠClose Header ClickListener Ġ: ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheader Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Payload Container . findViewById < View >( R . id . header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShared Properties Utils . set Catalog Categories Header Closed ( require Context (), Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠDownload Routes ClickListener Ġ: ĊĠĠĠĠĠĠĠ ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Book marks Catalog Screen () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠBook mark Categories Catalog Listener Ġ: ĠBook marks Catalog Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Import Started ( server Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . show ( m Progress Container ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . hide ( m Empty View Container , Ġm Payload Container ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Import Finished ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserver Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcat Id : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful : ĠBoolean ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . show ( m Payload Container ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . hide ( m Progress Container , Ġm Empty View Container ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter !!. notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatistics . INSTANCE . track Gu ides Shown ( Bookmark Manager . INSTANCE . guides Ids ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠisEmpty Adapter Ġ= Ġadapter !!. item Count Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . hide ( m Progress Container ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . show If ( isEmpty Adapter , Ġm Empty View Container ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . hide If ( isEmpty Adapter , Ġm Payload Container ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tags Received ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful : ĠBoolean , Ġtags Groups : ĠList < Catalog Tags Group >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtags Limit : ĠInt ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ// TODO (@ ale xz at se pin ): ĠImplement Ġme Ġif Ġnecessary ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Custom Properties Received ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties : ĠList < Catalog Custom Property > ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ// TODO (@ ale xz at se pin ): ĠImplement Ġme Ġif Ġnecessary ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Upload Started ( origin CategoryId : ĠLong ) Ġ{ Ġ// TODO (@ ale xz at se pin ): ĠImplement Ġme Ġif Ġnecessary ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Upload Finished ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupload Result : ĠUpload Result , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription : ĠString , Ġorigin CategoryId : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult CategoryId : ĠLong ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ// TODO (@ ale xz at se pin ): ĠImplement Ġme Ġif Ġnecessary ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }