package Ġchat . rocket . android . chat room . presentation Ċ Ċ import Ġchat . rocket . android . chat room . view model . ViewModel Mapper Ċ import Ġchat . rocket . android . core . lifecycle . Cancel Strategy Ċ import Ġchat . rocket . android . server . domain . Get Chat Rooms Interactor Ċ import Ġchat . rocket . android . server . domain . GetCurrent Server Interactor Ċ import Ġchat . rocket . android . server . domain . Get Settings Interactor Ċ import Ġchat . rocket . android . server . infra est ruct ure . Rocket Chat Client Factory Ċ import Ġchat . rocket . android . util . extensions . launch UI Ċ import Ġchat . rocket . common . Rocket Chat Exception Ċ import Ġchat . rocket . common . util . if Null Ċ import Ġchat . rocket . core . internal . rest . get Room Pin ned Messages Ċ import Ġchat . rocket . core . model . Value Ċ import Ġchat . rocket . core . model . is System Message Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠPin ned Messages Presenter Ġ@ Inject Ġconstructor ( private Ġval Ġview : ĠPin ned Messages View , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġstrategy : ĠCancel Strategy , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġserver Interactor : ĠGetCurrent Server Interactor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġrooms Interactor : ĠGet Chat Rooms Interactor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġmapper : ĠViewModel Mapper , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfactory : ĠRocket Chat Client Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Settings Interactor : ĠGet Settings Interactor ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġclient Ġ= Ġfactory . create ( server Interactor . get () !! ) ĊĠĠĠ Ġprivate Ġvar Ġsettings : ĠMap < String , ĠValue < Any >> Ġ= Ġget Settings Interactor . get ( server Interactor . get () !! ) ĊĠĠĠ Ġprivate Ġvar Ġpinned Messages List Offset : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġall Ġpinned Ġmessages Ġfor Ġthe Ġgiven Ġroom Ġid . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġroom Id ĠThe Ġid Ġof Ġthe Ġroom Ġto Ġget Ġpinned Ġmessages Ġfrom . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload Pin ned Messages ( roomId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch UI ( strategy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġserver Url Ġ= Ġserver Interactor . get () !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchat Room Ġ= Ġrooms Interactor . getById ( server Url , Ġroom Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchat Room ?. let Ġ{ Ġroom Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpinned Messages Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . get Room Pin ned Messages ( roomId , Ġroom . type , Ġpinned Messages List Offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpinned Messages List Offset Ġ= Ġpinned Messages . offset . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage List Ġ= Ġmapper . map ( pinned Messages . result . filter Not Ġ{ Ġit . is System Message () Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Pin ned Messages ( message List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. if Null Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e (" Couldn 't Ġfind Ġa Ġroom Ġwith Ġid : Ġ$ roomId Ġat Ġcurrent Ġserver .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠRocket Chat Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }