package Ġcom . k ier an . win ni peg bus . activities Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroid . widget . Adapter View . On Item Long ClickListener Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . ListView Ċ import Ġcom . k ier an . win ni peg bus . R Ċ import Ġcom . k ier an . win ni peg bus . adapters . Stop ListAdapter Ċ import Ġcom . k ier an . win ni peg bus . views . Styled Swipe Refresh Ċ import Ġcom . k ier an . win ni peg bus backend . common . F avour ite Stop Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠF avour ites Activity Ġ: ĠBase Activity (), ĠAdapter View . On ItemClickListener , ĠOn Item Long ClickListener Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġadapter : ĠStop ListAdapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġfavour ite Stops Ġ= ĠArrayList < F avour ite Stop >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġad View Res Id Ġ= ĠR . id . stops List Ad View ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ fav our ite _ stops ) ĊĊĠĠĠĠĠĠĠ Ġval ĠlistView Ġ= ĠfindViewById < ListView >( R . id . stops _ list View ) ĊĊĠĠĠĠĠĠĠ Ġinitialize Ads If Enabled () ĊĊĠĠĠĠĠĠĠ ĠlistView . on ItemClickListener Ġ= Ġthis ĊĠĠĠĠĠĠĠ ĠlistView . on Item Long ClickListener Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠStop ListAdapter ( this , ĠR . layout . list view _ stops _ row , Ġfavour ite Stops ) ĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Restart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Restart () ĊĠĠĠĠĠĠĠ Ġreload List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġreload List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreload List () Ġ{ ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstops Ġ= Ġfavour ites Service . getAll ( sort Preference ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavour ite Stops . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavour ite Stops . addAll ( stops ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter ?. notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ fav our ites , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Stop Times And Use ( fav our ite Stop : ĠF avour ite Stop ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfavour ite Stop . use () ĊĠĠĠĠĠĠĠ Ġfavour ites Service . update ( fav our ite Stop ) ĊĊĠĠĠĠĠĠĠ Ġopen Stop Times ( fav our ite Stop ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( parent : ĠAdapter View <* >, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġopen Stop Times And Use ( adapter !!. getItem ( position ) Ġas ĠF avour ite Stop ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Long Click ( parent : ĠAdapter View <* >, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġval Ġalert Dialog Ġ= ĠAlertDialog . Builder ( this ) ĊĊĠĠĠĠĠĠĠ Ġalert Dialog . setMessage ( R . string . edit _ fav our ite _ dialog _ title ) ĊĠĠĠĠĠĠĠ Ġalert Dialog . set Positive Button ( R . string . delete ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfavour ites Service . delete (( adapter !!. getItem ( position ) !!. id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreload List () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġalert Dialog . set Neutral Button ( R . string . rename ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrename Dialog Ġ= ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġedit Text Ġ= ĠEditText ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfavour ite Stop Ġ= Ġfavour ite Stops [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text . setText ( fav our ite Stop . displayName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrename Dialog . setView ( edit Text ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrename Dialog . set Neutral Button ( R . string . default _ label , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrename Dialog . set Positive Button ( R . string . ok ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavour ite Stop . alias Ġ= Ġedit Text . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavour ites Service . update ( fav our ite Stop ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreload List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrename Dialog . set Negative Button ( R . string . cancel , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton Ġ= Ġrename Dialog . show (). get Button ( DialogInterface . BUTTON _ NE UT R AL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setOnClickListener Ġ{ Ġedit Text . setText ( fav our ite Stop . name ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġalert Dialog . set Negative Button ( R . string . cancel , Ġnull ) ĊĠĠĠĠĠĠĠ Ġalert Dialog . create (). show () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ