package Ġcom . bl _ lia . kir ak ir atter . presentation . presenter Ċ Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġcom . bl _ lia . kir ak ir atter . domain . entity . Status Ċ import Ġcom . bl _ lia . kir ak ir atter . domain . extension . contains J apanese Ċ import Ġcom . bl _ lia . kir ak ir atter . domain . inter actor . Single UseCase Ċ import Ġcom . bl _ lia . kir ak ir atter . domain . value _ object . Translation Ċ import Ġcom . bl _ lia . kir ak ir atter . presentation . fragment . Timeline Fragment Ċ import Ġcom . bl _ lia . kir ak ir atter . presentation . internal . di . Per Fragment Ċ import Ġcom . google . firebase . remote config . Firebase Remote Config Ċ import Ġio . reactivex . Single Ċ import Ġorg . js oup . J soup Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Named Ċ Ċ @ Per Fragment Ċ class ĠTimeline Presenter ĊĠĠĠ Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġfragment : ĠFragment , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" get Home Timeline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġget Home Timeline : ĠSingle UseCase < List < Status >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" get More Home Timeline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġget More Home Timeline : ĠSingle UseCase < List < Status >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" getNew Home Timeline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġget New Home Timeline : ĠSingle UseCase < List < Status >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" get Public Timeline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġget Public Timeline : ĠSingle UseCase < List < Status >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" get More Public Timeline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġget More Public Timeline : ĠSingle UseCase < List < Status >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" getNew Public Timeline ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġget New Public Timeline : ĠSingle UseCase < List < Status >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" fav our ite Status ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġfavour ite Status : ĠSingle UseCase < Status >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" un fav our ite Status ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġun fav our ite Status : ĠSingle UseCase < Status >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" re blog Status ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġre blog Status : ĠSingle UseCase < Status >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" un re blog Status ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġun re blog Status : ĠSingle UseCase < Status >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" translate Content ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġtranslate Content : ĠSingle UseCase < List < Translation >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" getSimple Mode ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġget Simple Mode : ĠSingle UseCase < Boolean > ĊĠĠĠ Ġ): ĠPres enter Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġresume () Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpause () Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdestroy () Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfetch Timeline ( scope : ĠTimeline Fragment . Scope , Ġnew Timeline : ĠBoolean Ġ= Ġfalse ): ĠSingle < List < Status >> Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( scope ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTimeline Fragment . Scope . Home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Timeline ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget New Home Timeline . execute () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Home Timeline . execute () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTimeline Fragment . Scope . Local Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Timeline ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget New Public Timeline . execute () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Public Timeline . execute () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfetch More Timeline ( scope : ĠTimeline Fragment . Scope , Ġmax Id : ĠString ): ĠSingle < List < Status >> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( get More Home Timeline . processing ) Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( scope ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTimeline Fragment . Scope . Home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġget More Home Timeline . execute ( max Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTimeline Fragment . Scope . Local Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġget More Public Timeline . execute ( max Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfavour ite ( status : ĠStatus ): ĠSingle < Status > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġstatus . re blog Ġ?: Ġstatus ĊĠĠĠĠĠĠĠ Ġif Ġ( target . fav our ited ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġun fav our ite Status . execute ( status . id . toString ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfavour ite Status . execute ( status . id . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġre blog ( status : ĠStatus ): ĠSingle < Status > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġstatus . re blog Ġ?: Ġstatus ĊĠĠĠĠĠĠĠ Ġif Ġ( target . re blog ged ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġun re blog Status . execute ( status . id ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġre blog Status . execute ( status . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtranslation ( status : ĠStatus ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġstatus . re blog Ġ?: Ġstatus ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= ĠJ soup . parse ( target . content ?. body ). text () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( content . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġremote Config Ġ= ĠFirebase Remote Config . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Config . fetch () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Complete Listener Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( task . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremote Config . activate F etched () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġremote Config . getString (" translation _ api _ key ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Lang Ġ= Ġif Ġ( content . contains J apanese ()) Ġ" ja " Ġelse Ġ" en " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Lang Ġ= Ġif Ġ( source Lang Ġ== Ġ" ja ") Ġ" en " Ġelse Ġ" ja " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslate Content . execute ( key , Ġsource Lang , Ġtarget Lang , Ġcontent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġlist , Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ĠTimeline Fragment ). tran late Text ( status , Ġlist , Ġerror ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ĠTimeline Fragment ). tran late Text ( status , ĠlistOf (), ĠException (" Error ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ĠTimeline Fragment ). tran late Text ( status , ĠlistOf (), ĠException (" Error ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Simple Mode (): ĠSingle < Boolean > Ġ= Ġget Simple Mode . execute () Ċ }