package Ġcom . skeleton . mvp . group Tasks Ċ Ċ / ******************************** Ċ Created Ġby ĠA man deep ĠCh au han ĠĠĠĠ Ġ* Ċ Date Ġ:- Ġ 0 5 / 0 8 / 2 0 2 0 ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ċ Ġ************************* *******/ Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . skeleton . mvp . Build Config Ċ import Ġcom . skeleton . mvp . R Ċ import Ġcom . skeleton . mvp . constant . F ugu App Constant Ċ import Ġcom . skeleton . mvp . data . db . Common Data Ċ import Ġcom . skeleton . mvp . data . model . fc Common . Data Ċ import Ġcom . skeleton . mvp . data . model . group Tasks . Get Task Response Ċ import Ġcom . skeleton . mvp . data . network . ApiError Ċ import Ġcom . skeleton . mvp . data . network . Response Resolver Ċ import Ġcom . skeleton . mvp . data . network . RestClient Ċ import Ġcom . skeleton . mvp . ret rofit . Common Params Ċ import Ġcom . skeleton . mvp . ui . base . Base Activity Ċ import Ġcom . skeleton . mvp . utils . g one Ċ import Ġcom . skeleton . mvp . utils . visible Ċ import Ġkotlinx . android . synt hetic . main . activity _ view _ group _ tasks .* Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ Ċ class ĠViewGroup Tasks Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġval Ġcommon ResponseData : ĠData Ġ= ĠCommon Data . get Common Response (). data ĊĠĠĠ Ġval ĠaccessToken : ĠString Ġ= Ġcommon ResponseData . userInfo . accessToken ĊĠĠĠ Ġval ĠuserId : ĠString Ġ= Ġcommon ResponseData . workspaces Info [ Common Data . getCurrent Signed In Position ()]. userId ĊĠĠĠ Ġprivate Ġvar Ġtask Type Ġ= Ġ 3 ĊĠĠĠ Ġprivate Ġvar Ġmonth Ġ= ĠCalendar . getInstance (). get ( Calendar . MONTH ) Ġ+ Ġ 1 ĊĠĠĠ Ġprivate Ġvar Ġyear Ġ= ĠCalendar . getInstance (). get ( Calendar . YEAR ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtask ListAdapter : ĠTask ListAdapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ view _ group _ tasks ) ĊĠĠĠĠĠĠĠ Ġtask ListAdapter Ġ= ĠTask ListAdapter ( ArrayList (), Ġthis ) ĊĠĠĠĠĠĠĠ Ġrv Group Tasks ?. layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġrv Group Tasks ?. adapter Ġ= Ġtask ListAdapter ĊĊĠĠĠĠĠĠĠ Ġfetch AndUpdate Tasks () ĊĊĠĠĠĠĠĠĠ Ġiv Filter Tasks ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ll Filter Options ?. visibility Ġ== ĠView . VISIBLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll Filter Options ?. g one () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll Filter Options ?. visible () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġiv Back ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġiv Filter Arrow ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspinner Task Type ?. perform Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġspinner Month ?. setSelection ( month Ġ- Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġspinner Month ?. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmonth Ġ= Ġposition Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġspinner Year ?. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyear Ġ= Ġ 2 0 2 0 Ġ+ Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġspinner Task Type ?. on ItemSelected Listener Ġ= Ġobject Ġ: ĠAdapter View . On ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View < *> ?, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġtask Type Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġtask Type Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġtask Type Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġtask Type Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View < *> ?) Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtv Apply Filter ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfetch AndUpdate Tasks () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġfetch AndUpdate Tasks () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfetch AndUpdate Tasks () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠ Ġval Ġcommon Params Ġ= ĠCommon Params . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( F ugu App Constant . CHANNEL _ ID , Ġintent . getLong Extra ( F ugu App Constant . CHANNEL _ ID , Ġ- 1 L )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( F ugu App Constant . USER _ ID , ĠuserId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add (" month ", Ġmonth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add (" year ", Ġyear ) ĊĠĠĠĠĠĠĠ Ġif Ġ( task Type Ġ!= Ġ 3 ) Ġcommon Params . add (" is _ completed ", Ġtask Type ) ĊĠĠĠĠĠĠĠ ĠRest Client . get Api Interface ( true ). get Assigned Tasks ( accessToken , ĠF ugu App Constant . ANDROID _ USER , ĠBuild Config . VERSION _ CODE , Ġcommon Params . build (). map ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue ( object Ġ: ĠResponse Resolver < Get Task Response ?> () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( get Task Response : ĠGet Task Response ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Task Response ?. data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Task Response . data . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv No Tasks . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrv Group Tasks ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask ListAdapter . update List ( get Task Response . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv No Tasks . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrv Group Tasks ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠApi Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ErrorMessage ( error . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ErrorMessage (" API ĠFailure ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }