package Ġdid . chr is . alt . ui . constraint ui . tracker List Ċ Ċ import Ġdid . chr is . alt . base . Base Presenter Ċ import Ġdid . chr is . alt . data . data Controller . Data Controller Ċ import Ġrx . Subscription Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠTracker List Presenter Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 8 ĠChris Did This . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ class ĠTracker List Presenter Ġ@ Inject Ġconstructor ( private Ġvar Ġdata Controller : ĠData Controller ) Ġ: ĊĠĠĠĠĠĠĠ ĠBase Presenter < Tracker Contract View >(), ĊĠĠĠĠĠĠĠ ĠTracker Contract Presenter Ġ{ ĊĊĠĠĠ Ġ// ĠProperties ĊĊĠĠĠ Ġprivate Ġvar Ġcoin List Subscriber : ĠSubscription ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġupdate Subscription : ĠSubscription ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmarket Summary Subscription : ĠSubscription ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġerror Subscription : ĠSubscription ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠLifecycle ĊĊĠĠĠ Ġoverride Ġfun Ġinitialise () Ġ{ ĊĠĠĠĠĠĠĠ Ġinitialise Subscriptions () ĊĠĠĠĠĠĠĠ Ġview ?. initial ise Tracker List () ĊĠĠĠĠĠĠĠ Ġview ?. initial ise Tracker List Listeners () ĊĠĠĠĠĠĠĠ Ġview ?. initial ise Refresh Listener () ĊĠĠĠĠĠĠĠ Ġview ?. initial ise Search Bar () ĊĠĠĠĠĠĠĠ Ġview ?. initial ise Add Entry Button () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġdetach View () ĊĠĠĠĠĠĠĠ Ġcoin List Subscriber ?. unsubscribe () ĊĠĠĠĠĠĠĠ Ġupdate Subscription ?. unsubscribe () ĊĠĠĠĠĠĠĠ Ġerror Subscription ?. unsubscribe () ĊĠĠĠĠĠĠĠ Ġerror Subscription Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġcoin List Subscriber Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġupdate Subscription Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠOverrides ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh Cache () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Controller . refresh Requested () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh Tracker Entries () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Tracker Entries Change ( no Entries Present : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( no Entries Present ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show No Tracker Entries Message () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview ?. hide No Tracker Entries Message () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠPrivate ĠFunctions ĊĊĠĠĠ Ġprivate Ġfun Ġinitialise Subscriptions () Ġ{ ĊĠĠĠĠĠĠĠ Ġerror Subscription Ġ= Ġdata Controller . getError Subscription (). subscribe { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. hide Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcoin List Subscriber Ġ= Ġdata Controller . coin Refresh Subscriber (). first . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. hide Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġupdate Subscription Ġ= Ġdata Controller . updating Subscriber (). subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġsubscription Ġ= Ġdata Controller . market Refresh Subscriber () ĊĠĠĠĠĠĠĠ Ġmarket Summary Subscription Ġ Ġ= Ġsubscription . first . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. display Market Summary ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview ?. display Market Summary ( subscription . second ) ĊĠĠĠ Ġ} Ċ } Ċ