package Ġar . com . wo lox . android . features . homepage . news . details Ċ Ċ import Ġar . com . wo lox . android . example . network . builder . network Request Ċ import Ġar . com . wo lox . android . example . network . repository . News Repository Ċ import Ġar . com . wo lox . android . models . New From Details Ċ import Ġar . com . wo lox . android . utils . User Session Ċ import Ġar . com . wo lox . w ol mo . core . presenter . Coroutine Base Presenter Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠNews Details Presenter Ġ@ Inject Ġconstructor ( private Ġval Ġnews Repository : ĠNews Repository , Ġprivate Ġval Ġuser Session : ĠUser Session ) Ġ: ĠCor outine Base Presenter < News Details View >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġloading Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġon Swipe Refresh ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Request ( news Repository . getNew ById ( id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Response Successful Ġ{ Ġresponse Ġ-> Ġformat Data ( response !! ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Response Failed Ġ{ Ġ_, Ġ_ Ġ-> Ġview ?. on Response Failed () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Call Failure Ġ{ Ġview ?. on Call Failed () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. stop Refresh ing () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Like Button Clicked ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! loading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. toggle Like Button ( loading ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Request ( news Repository . put Like ( id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Response Failed Ġ{ Ġ_, Ġ_ Ġ-> Ġview ?. on Like Update Failed () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Call Failure Ġ{ Ġview ?. on Call Failed () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. toggle Like Button ( loading ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformat Data ( new From Details : ĠNew From Details ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( new From Details ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Lik ed Ġ= Ġuser Session . id Ġin Ġlikes ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. update Data ( comment er , Ġcomment , Ġis Lik ed ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }