package Ġcom . arch eros . road map . ui Ċ Ċ import Ġandroid . app . Notification Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . widget . Search View Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġandroidx . recyclerview . widget . Default Item Animator Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . arch eros . road map . Navigation Drawer Ċ import Ġcom . arch eros . road map . R Ċ import Ġcom . arch eros . road map . adapter . Re positor ios Adapter Ċ import Ġcom . arch eros . road map . core . My Firebase Messaging Service Ċ import Ġcom . arch eros . road map . entity . Re positorio Ċ import Ġcom . arch eros . road map . service . Re positorio Service Ċ import Ġcom . arch eros . road map . util . Network Ċ import Ġcom . arch eros . road map . util . Notification Util Ċ import Ġcom . google . android . gms . tasks . On Complete Listener Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . messaging . Firebase Messaging Ċ import Ġkotlinx . android . synt hetic . main . activity _ dashboard .* Ċ import Ġkotlinx . android . synt hetic . main . toolbar .* Ċ Ċ class ĠDashboard Activity Ġ: ĠNavigation Drawer () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Dashboard " ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext Ġget () Ġ= Ġthis ĊĠĠĠ Ġprivate Ġvar Ġre posit ios Ġ= ĠlistOf < Re positorio >() ĊĠĠĠ Ġprivate Ġvar Ġfirebase Auth : ĠFirebase Auth ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ dashboard ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar _ view ) ĊĠĠĠĠĠĠĠ Ġset Config Drawer ( drawer _ dashboard ) ĊĠĠĠĠĠĠĠ ĠMy Firebase Messaging Service () ĊĠĠĠĠĠĠĠ ĠRecyclerView Re positor ios ?. layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ ĠRecyclerView Re positor ios ?. item Animator Ġ= ĠDefault Item Animator () ĊĠĠĠĠĠĠĠ ĠRecyclerView Re positor ios ?. set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ ĠNotification Util . create Channel ( this ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= ĠgetString ( R . string . title _ dashboard ) ĊĠĠĠĠĠĠĠ Ġfirebase Auth Ġ= ĠFirebase Auth . getInstance (); ĊĠĠĠĠĠĠĠ Ġenv ia Not ific acao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġenv ia Not ific acao () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠDashboard Activity :: class . java ) ĊĠĠĠĠĠĠĠ ĠNotification Util . create ( this , Ġ 1 , Ġintent , Ġ" L MS App ", Ġ" V ocÃª Ġtem Ġnova Ġat iv idade ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġthis . get Re positor ios () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġ( menu ?. find Item ( R . id . action _ bus car )?. action View Ġas ĠSearch View ?) ?. setOn Query Text Listener ( object Ġ: ĠSearch View . On Query Text Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Change ( new Text : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" SEARCH _ TOOL BAR ", Ġ" toolbar Ġtext Ġchange : Ġ$ new Text ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Submit ( query : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Bus c ando : Ġ$ query ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( progress Bar . visibility Ġ== ĠView . VISIBLE ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}). start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ at ual izar Ġ-> Ġthis . get Re positor ios () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ config Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( this , ĠSettings Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ s air Ġ-> Ġlogout Application () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġopen Re positorio Activity ( re positorio : ĠRe positorio ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( this , ĠRe positorio Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" re positorio ", Ġre positorio ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Navigation ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ road map Ġ-> Ġget Re positor ios () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ f avor itos Ġ-> Ġget F avor itos () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ event os Ġ-> Ġredirect To Event os () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ s air Ġ-> Ġlogout Application () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdrawer _ dashboard . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Re positor ios () Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= ĠgetString ( R . string . title _ dashboard ) ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ ĠThread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . re posit ios Ġ= ĠRe positorio Service . get Repositories () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecyclerView Re positor ios ?. adapter Ġ= ĠRe positor ios Adapter ( re posit ios ) Ġ{ open Re positorio Activity ( it )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget F avor itos () Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= Ġ" F avor itos " ĊĠĠĠĠĠĠĠ ĠRecyclerView Re positor ios ?. adapter Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠDashboard Activity :: class . java ) ĊĠĠĠĠĠĠĠ ĠNotification Util . create ( this , Ġ 1 , Ġintent , Ġ" Road map ", Ġ" V ocÃª Ġtem Ġnova Ġat iv idade !") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġredirect To Event os (){ ĊĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( this , ĠMaps Activity :: class . java ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlogout Application () Ġ{ ĊĠĠĠĠĠĠĠ ĠFirebase Auth . getInstance (). sign Out (); ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠLogin Activity :: class . java ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġthis . finish () ĊĠĠĠ Ġ} Ċ }