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 . Notification Ċ 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 . Notification 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 Ġjavax . inject . Inject Ċ import Ġjavax . inject . Named Ċ Ċ @ Per Fragment Ċ class ĠNotification Presenter ĊĠĠĠ Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġfragment : ĠFragment , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" list Notification ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlist Notification : ĠSingle UseCase < List < Notification >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" list More Notification ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlist More Notification : ĠSingle UseCase < List < Notification >>, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ 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 (" 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 (" translate Content ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġtranslate Content : ĠSingle UseCase < List < Translation >> ĊĠĠĠ Ġ) Ġ: Ġ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 Notification (): ĠSingle < List < Notification >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Notification . execute () ĊĊĠĠĠ Ġfun Ġfetch More Notification ( max Id : ĠInt ): ĠSingle < List < Notification >> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( list More Notification . processing ) Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist More Notification . execute ( max Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ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 Ġ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 Ġtranslate ( notification : ĠNotification ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġnotification . status ?. re blog Ġ?: Ġnotification . status ĊĊĠĠĠĠĠĠĠ Ġif Ġ( target ?. content ?. body Ġ!= Ġnull Ġ&& Ġtarget . content . translated Text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ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 Ġtext Ġ= Ġtarget . content . body . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource Lang Ġ= Ġif Ġ( text . contains J apanese ()) Ġ" ja " Ġelse Ġ" en " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Lang Ġ= Ġif Ġ( source Lang Ġ== Ġ" ja ") Ġ" en " Ġelse Ġ" ja " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslate Content . execute ( key , Ġsource Lang , Ġtarget Lang , Ġtext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġlist , Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ĠNotification Fragment ). tran late Text ( notification , Ġtarget , Ġlist , Ġerror ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ĠNotification Fragment ). tran late Text ( notification , Ġtarget , ĠlistOf (), ĠException (" Error ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ĠNotification Fragment ). tran late Text ( notification , Ġtarget !! , ĠlistOf (), ĠException (" Error ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }