package Ġeu . dar ken . android kotlin starter . main . ui . fragment Ċ Ċ import Ġeu . dar ken . android kotlin starter . main . core . Some Repo Ċ import Ġeu . dar ken . mv pb ak ery . base . Presenter Ċ import Ġeu . dar ken . mv pb ak ery . injection . Component Presenter Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Dis pos ables Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġjavax . inject . Inject Ċ Ċ @ Example Fragment Component . Scope Ċ class ĠExample Fragment Presenter Ġ@ Inject Ċ internal Ġconstructor ( private Ġval Ġsome Repo : ĠSome Repo ) Ġ: ĠComponent Presenter < Example Fragment Presenter . View , ĠExample Fragment Component >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġemoji Sub Ġ= ĠDis pos ables . dis posed () ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind Change ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Bind Change ( view ) ĊĠĠĠĠĠĠĠ Ġsub To E moj is () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsub To E moj is () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ!= Ġnull Ġ&& Ġemoji Sub . is Disposed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Sub Ġ= Ġsome Repo . emoji ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. repeat When Ġ{ Ġerrors Ġ-> Ġerrors . flatMap Single Ġ{ Ġerror Ġ-> ĠSingle . timer ( 1 , ĠTimeUnit . SECONDS ) Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . computation ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġemoji Ġ-> Ġwith View Ġ{ Ġv Ġ-> Ġv . show Emoji ( emoji ) Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Sub . dispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Get New Emoji () Ġ{ ĊĠĠĠĠĠĠĠ Ġemoji Sub . dispose () ĊĠĠĠĠĠĠĠ Ġsub To E moj is () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠView Ġ: ĠPres enter . View Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġshow Emoji ( emoji : ĠString ) ĊĠĠĠ Ġ} Ċ } Ċ