package Ġcom . ero om . er oo ja . feature . main Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġcom . ero om . data . entity . Alarm Content Ċ import Ġcom . ero om . data . entity . Job Class Ċ import Ġcom . ero om . data . local class . Direction Ċ import Ġcom . ero om . data . local class . Sort By Ċ import Ġcom . ero om . domain . api . use case . alarm . Get Un Checked Al arms UseCase Ċ import Ġcom . ero om . domain . api . use case . goal . Get Search Goal UseCase Ċ import Ġcom . ero om . domain . api . use case . member . Get Member Info UseCase Ċ import Ġcom . ero om . domain . api . use case . member . Get Member Job Inter ests UseCase Ċ import Ġcom . ero om . domain . api . use case . member goal . Get Go als By UserId UseCase Ċ import Ġcom . ero om . domain . global const . Consts Ċ import Ġcom . ero om . domain . k oin . repository . Shared Pref Repository Ċ import Ġcom . ero om . domain . utils .* Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ Ċ class ĠMain Presenter ( ĊĠĠĠ Ġoverride Ġval Ġview : ĠMain Contract . View , ĊĠĠĠ Ġprivate Ġval Ġshared Pref Repository : ĠShared Pref Repository , ĊĠĠĠ Ġprivate Ġval Ġget Member Info UseCase : ĠGet Member Info UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Member Job Interest UseCase : ĠGet Member Job Inter ests UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Search Goal UseCase : ĠGet Search Goal UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Go als By UserId UseCase : ĠGet Go als By UserId UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Un Checked Al arms UseCase : ĠGet Un Checked Al arms UseCase Ċ ) Ġ: ĠMain Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcomposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġoverride Ġfun ĠgetUser Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Member Info UseCase . getUser Info () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Nick name ( it . nickname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . save Uid ( it . uid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĠaddTo Ġcomposite Disposable ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġoverride Ġfun Ġget Member Job Interest () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Member Job Interest UseCase . get Member Job Inter ests () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclass List Ġ= ĠArrayList < Job Class >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( group Ġin Ġit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup . job Inter ests . map Ġ{ Ġjob Class Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass List . add ( job Class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( classList . size Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠMath . random () Ġ* Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġ( a Ġ% Ġclass List . size ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Job Interest Info ( classList [ index ]. name , Ġclass List [ index ]. id , Ġclass List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĠaddTo Ġcomposite Disposable ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġoverride Ġfun Ġget Inter ested Go als ( interest Id : ĠLong , Ġuid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Search Goal UseCase . get Search Job Interest ( interest Id , Ġ 3 , Ġ 0 , ĠSort By . JOIN COUNT _ DESC , Ġuid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set New Goal Browse ( it . content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĠaddTo Ġcomposite Disposable ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġoverride Ġfun Ġget My Part icip ated List ( uid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . start Animation () ĊĠĠĠĠĠĠĠ Ġget Go als By UserId UseCase . get Go als By UserId ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsortBy Ġ= ĠSort By . END _ DT . itemName , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdirection Ġ= ĠDirection . ASC . itemName , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Part icip ated List ( it . content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . stop Animation () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . stop Animation () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĠaddTo Ġcomposite Disposable ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġoverride Ġfun Ġget Notification Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlast Checked Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Pref Repository . get Prefs StringValue ( Consts . END _ POP _ UP _ CHECK ED _ DATE ) Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcalendar . add ( Calendar . MINUTE , Ġ- 3 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġtoday Time Ġ= Ġto LocalDate Non Time Format ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . get ( Calendar . YEAR ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . get ( Calendar . MONTH ) Ġ+ Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . get ( Calendar . DATE ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( last Checked Ġ!= Ġtoday Time ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . start Block Animation () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Un Checked Al arms UseCase . getUn checked Al arms ( 0 , ĠSort By . CREATED _ DT , ĠInt . MAX _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . content . size Ġ> Ġ 0 ) Ġview . set Un Read Notification () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġyesterday List Ġ= ĠArrayList < Alarm Content >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . content . forEach Ġ{ Ġalarm Content Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alarm Content . create Dt . to Non Time Date () Ġ== Ġtoday Time Ġ&& Ġalarm Content . goal Id Ġ!= Ġnull ) Ġyesterday List . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Content ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( y esterday List . size Ġ> Ġ 0 Ġ&& Ġshared Pref Repository . get Prefs Boolean Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConst s . ALARM _ FLAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show End Pop Up ( y esterday List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Pref Repository . write Prefs ( Consts . END _ POP _ UP _ CHECK ED _ DATE , Ġtoday Time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . stop Animation () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . stop Animation () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Un Checked Al arms UseCase . getUn checked Al arms ( 0 , ĠSort By . CREATED _ DT , ĠInt . MAX _ VALUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . content . size Ġ> Ġ 0 ) Ġview . set Un Read Notification () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Guest () Ġ= Ġshared Pref Repository . get Prefs Boolean Value ( Consts . IS _ G UEST ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . clear () ĊĠĠĠ Ġ} Ċ }