package Ġcom . su ai . ser ge y . invest ment portfolio . present ers Ċ Ċ import Ġandroid . os . Looper Ċ import Ġandroid . util . Log Ċ import Ġcom . su ai . ser ge y . invest ment portfolio . contract . Main Contract Ċ import Ġcom . su ai . ser ge y . invest ment portfolio . inter actors . Buy Interactor Ċ import Ġcom . su ai . ser ge y . invest ment portfolio . inter actors . Refresh ing Interactor Ċ import Ġcom . su ai . ser ge y . invest ment portfolio . inter actors . Stock Interactor Ċ import Ġcom . su ai . ser ge y . invest ment portfolio . inter actors . Stock Price Interactor Ċ import Ġcom . su ai . ser ge y . invest ment portfolio . models . Stock Ċ import Ġjava . util .* Ċ Ċ class ĠMain Presenter ( ĊĠĠĠ Ġprivate Ġvar Ġview : ĠMain Contract . View , ĊĠĠĠ Ġprivate Ġvar Ġstock Interactor : ĠStock Interactor , ĊĠĠĠ Ġprivate Ġvar Ġstock Price Interactor : ĠStock Price Interactor , ĊĠĠĠ Ġprivate Ġvar Ġrefresh ing Interactor : ĠRefresh ing Interactor , ĊĠĠĠ Ġprivate Ġvar Ġbuy Interactor : ĠBu y Interactor Ċ ) Ġ: ĊĠĠĠ ĠMain Contract . Presenter , ĠObserver Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsell Deal ( uid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuy Interactor . add Observer ( this ) ĊĠĠĠĠĠĠĠ Ġbuy Interactor . sell Deal ( uid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuy Deal ( uid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuy Interactor . add Observer ( this ) ĊĠĠĠĠĠĠĠ Ġbuy Interactor . buy Deal ( uid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Invest _ Main Contract " ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( ob es er vable : ĠObservable ?, Ġparcel : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Updated ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Looper . my Looper () Ġ== ĠL ooper . get Main Looper ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" MAIN ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" NOT _ MAIN ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġob es er vable Ġis ĠStock Interactor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . update Stock Spinner (( parcel Ġas ĠList < Stock > )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġob es er vable Ġis ĠStock Price Interactor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . update Re cy ler View Item () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġob es er vable Ġis ĠRefresh ing Interactor Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . refresh Re cy cer View (( parcel Ġas ĠList < Stock > )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Stock Price ( uid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstock Price Interactor . add Observer ( this ) ĊĠĠĠĠĠĠĠ Ġstock Price Interactor . load Data ( uid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Sto cks () Ġ{ ĊĠĠĠĠĠĠĠ Ġstock Interactor . add Observer ( this ) ĊĠĠĠĠĠĠĠ Ġstock Interactor . load Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d (" my Logs ", Ġ" refresh RecyclerView ") ĊĠĠĠĠĠĠĠ Ġrefresh ing Interactor . add Observer ( this ) ĊĠĠĠĠĠĠĠ Ġrefresh ing Interactor . load Data () ĊĠĠĠ Ġ} Ċ }