package Ġcom . pad cx . pad cx _ health care app _ n ct . mvp . present ers . impl s Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . pad cx . pad cx _ health care app _ n ct . mvp . present ers . Consult Presenter Ċ import Ġcom . pad cx . pad cx _ health care app _ n ct . mvp . views . Consult View Ċ import Ġcom . pad cx . shared . data . models . Consult Model Ċ import Ġcom . pad cx . shared . data . models . impl s . Consult Model Impl Ċ import Ġcom . pad cx . shared . data . v os . Message VO Ċ import Ġcom . pad cx . shared . mvp . present ers . Abstract Base Presenter Ċ Ċ class ĠConsult Presenter Impl : ĊĠĠĠ ĠConsult Presenter , Abstract Base Presenter < Consult View >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Consult Model Ġ: ĠConsult Model Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsult Model Impl ĊĊĠĠĠ Ġoverride Ġfun Ġon Ui Ready ( lifecycle Owner : ĠLifecycle Owner ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġload Data From Api () ĊĠĠĠĠĠĠĠ Ġload Data From Db ( lifecycle Owner ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġload Data From Db ( lifecycle Owner : ĠLifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Consult Model . get Messages From Db () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe ( lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġshow Ġmessages Ġin Ġui ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠ Ġ/* Ġ Ġprivate Ġfun Ġload Data From Api () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Consult Model . get Messages ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . show Error ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ}*/ ĊĊĠĠĠ Ġoverride Ġfun ĠonTap Checkout Pre scription () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġnavigate Ġto Ġcheckout Ġscreen ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* override Ġfun ĠonTap SendMessage ( message : ĠMessage VO , ĠonSuccess : Ġ() Ġ-> ĠUnit , Ġon Failure : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Consult Model . save Message ( message , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess ={ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Success "," Sent Ġmessage ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . show Error ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ}*/ Ċ }