package Ġlt . mark mer kk . ui _ 2 . views . progress Ċ Ċ import Ġlt . mark mer kk . Auto Sync Watcher 2 Ċ import Ġlt . mark mer kk . Tags Ċ import Ġlt . mark mer kk . inter actors . Sync Interactor Ċ import Ġlt . mark mer kk . interfaces . I Remote Load Listener Ċ import Ġlt . mark mer kk . utils . Log Format ters Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ class ĠProgress Widget Presenter ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsync Interactor : ĠSync Interactor , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġauto Sync Watcher : ĠAuto Sync Watcher 2 Ċ ): ĠProgress Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġview : ĠProgress Contract . View ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( view : ĠProgress Contract . View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view Ġ= Ġview ĊĠĠĠĠĠĠĠ Ġsync Interactor . add Loading Listener ( remote Load Listener ) ĊĠĠĠĠĠĠĠ Ġhandle Sync Change ( sync Interactor . isLoading ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsync Interactor . remove Loading Listener ( remote Load Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick Sync () Ġ{ ĊĠĠĠĠĠĠĠ Ġsync Interactor . sync Active Time () ĊĠĠĠĠĠĠĠ Ġauto Sync Watcher . reset () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcheck Sync Duration () Ġ{ ĊĠĠĠĠĠĠĠ Ġhandle Sync Change ( sync Interactor . isLoading ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Sync Change ( isLoading : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( isLoading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show Progress () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. change Label (" Sync ing ĠJIRA ...") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpretty Duration Ġ= ĠLog Format ters . human Readable Duration ( auto Sync Watcher . last Sync Duration ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. change Label (" Sync Ġ$ pretty Duration Ġago ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// region ĠList eners ĊĊĠĠĠ Ġprivate Ġval Ġremote Load Listener Ġ= Ġobject Ġ: ĠI Remote Load Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonLoad Change ( loading : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Sync Change ( loading ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. hide Progress () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Sync Change ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Auth Error () Ġ{ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Tags . MAIN ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion Ċ Ċ }